编程题:单调栈
米尔科发现了斯拉夫科在前一个任务中所做的事情,并决定处理与字母表完全相反的事情:数字序列。
让我们将序列的值定义为该序列中最大和最小数字之间的差值。例如,序列$$(3,1,7,2)$$的值是$$6,(42,42)$$的值是$$0$$。
求给定序列中连续元素的所有子序列的值之和。
### 输入格式:
第一行输入包含一个整数$$N(2≤N≤300000)$$,表示序列的元素数。
接下来的$$N$$行包含序列的元素。每个元素都是不大于$$100000$$的正整数。
### 输出格式:
输出所要求的和。
### 输入样例1:
in
3
1
2
3
### 输出样例1:
out
4
### 输入样例2:
in
4
7
5
7
5
### 输出样例2:
out
12
### 输入样例3:
in
4
3
1
7
2
### 输出样例3:
out
31
答案:若无答案欢迎评论
让我们将序列的值定义为该序列中最大和最小数字之间的差值。例如,序列$$(3,1,7,2)$$的值是$$6,(42,42)$$的值是$$0$$。
求给定序列中连续元素的所有子序列的值之和。
### 输入格式:
第一行输入包含一个整数$$N(2≤N≤300000)$$,表示序列的元素数。
接下来的$$N$$行包含序列的元素。每个元素都是不大于$$100000$$的正整数。
### 输出格式:
输出所要求的和。
### 输入样例1:
in
3
1
2
3
### 输出样例1:
out
4
### 输入样例2:
in
4
7
5
7
5
### 输出样例2:
out
12
### 输入样例3:
in
4
3
1
7
2
### 输出样例3:
out
31
答案:若无答案欢迎评论