/ Vijos / 题库 /

序列区间增减

序列区间增减

时间限制:1秒  内存限制:256M


【题目描述】

  给定整数序列 \(a[1],a[2],…,a[n](|a[i]|≤10^9)\),你每一次操作可以把下标在区间 \([l,r]\) 中的每个元素 \(+1\) 或 \(-1\),那么至少要多少次操作才能使序列所有元素都一样?

【输入格式】

  第一行一个正整数 \(n\)。
  第二行有 \(n\) 个整数,表示 \(a[1],a[2],…,a[n]\)。

【输出格式】

  第一行输出最少操作次数。

【输入输出样例】

 Input

6
7 3 8 5 3 4

 Output

9

【样例解释】

  原序列为:7 3 8 5 3 4,经过下面9次操作,可以把序列变成 7 7 7 7 7 7。
  把下表区间[2,2]的元素增加 1:序列变成 7 4 8 5 3 4;
  把下表区间[2,2]的元素增加 1:序列变成 7 5 8 5 3 4;
  把下表区间[2,2]的元素增加 1:序列变成 7 6 8 5 3 4;
  把下表区间[2,2]的元素增加 1:序列变成 7 7 8 5 3 4;
  把下表区间[3,3]的元素减少 1:序列变成 7 7 7 5 3 4;
  把下表区间[4,6]的元素增加 1:序列变成 7 7 7 6 4 5;
  把下表区间[4,6]的元素增加 1:序列变成 7 7 7 7 5 6;
  把下表区间[5,6]的元素增加 1:序列变成 7 7 7 7 6 7;
  把下表区间[5,5]的元素增加 1:序列变成 7 7 7 7 7 7;

【数据范围】

  对于所有测试数据有:\(1≤n≤10^5\)。

【来源】

   Mr.he

信息

ID
2854
难度
(无)
分类
贪心 | 差分 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者