Gửi bài giải
Điểm:
0,80 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python
Người thầy quốc dân Gojo Satoru giờ đang có một niềm đam mê với tin học. Để lan tỏa điều này, anh muốn đố các học sinh của mình một bài toán như sau: Cho một dãy số nguyên ~a~ gồm ~n~ phần tử, định nghĩa ~f(l,r)~ là ~max(a_i) - min(a_i) \forall (l \le i \le r)~.
Hãy tính tổng của ~f(l,r) \forall (1 \le l \le r \le n)~.
Tất nhiên, do bận đi làm nhiệm vụ, các học sinh của thầy không rảnh để giải bài toán này, hãy thử giải nó giúp họ nhé.
Input:
- Dòng đầu gồm số nguyên dương ~n~. ~(1 \le n \le 10^5)~.
- Dòng sau gồm n số nguyên miêu tả dãy ~a~. ~(|a_i| \le 10^6)~.
Output:
- Ghi ra một số nguyên miêu tả kết quả của bài toán.
Subtasks
- Subtask 1: ~n \leq 5000~. (50%)
- Subtask 2: Không giới hạn gì thêm.
Sample Test
Input:
3
1 2 3
Output:
4
Giải thích:
Ta có ~f(1,1) + f(1,2) + f(1,3) + f(2,2) + f(2,3) + f(3,3) = 0 + 1 + 2 + 0 + 1 +0 = 4~.