CF div2 331 B
2015-11-20 00:51
441 查看
B. Wilbur and Array
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Wilbur the pig is tinkering with arrays again. He has the array a1, a2, ..., an initially consisting of n zeros. At one step, he can choose any index i and either add 1 to all elements ai, ai + 1, ... , an or subtract 1 from all elements ai, ai + 1, ..., an. His goal is to end up with the array b1, b2, ..., bn.
Of course, Wilbur wants to achieve this goal in the minimum number of steps and asks you to compute this value.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 200 000) — the length of the array ai. Initially ai = 0 for every position i, so this array is not given in the input.
The second line of the input contains n integers b1, b2, ..., bn ( - 109 ≤ bi ≤ 109).
Output
Print the minimum number of steps that Wilbur needs to make in order to achieve ai = bi for all i.
Sample test(s)
input
output
input
output
Note
In the first sample, Wilbur may successively choose indices 1, 2, 3, 4, and 5, and add 1 to corresponding suffixes.
In the second sample, Wilbur first chooses indices 1 and 2 and adds 1 to corresponding suffixes, then he chooses index 4 and subtract1.
也是比较水,模拟就跑一遍就行了,然后用long long
View Code
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Wilbur the pig is tinkering with arrays again. He has the array a1, a2, ..., an initially consisting of n zeros. At one step, he can choose any index i and either add 1 to all elements ai, ai + 1, ... , an or subtract 1 from all elements ai, ai + 1, ..., an. His goal is to end up with the array b1, b2, ..., bn.
Of course, Wilbur wants to achieve this goal in the minimum number of steps and asks you to compute this value.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 200 000) — the length of the array ai. Initially ai = 0 for every position i, so this array is not given in the input.
The second line of the input contains n integers b1, b2, ..., bn ( - 109 ≤ bi ≤ 109).
Output
Print the minimum number of steps that Wilbur needs to make in order to achieve ai = bi for all i.
Sample test(s)
input
5 1 2 3 4 5
output
5
input
4 1 2 2 1
output
3
Note
In the first sample, Wilbur may successively choose indices 1, 2, 3, 4, and 5, and add 1 to corresponding suffixes.
In the second sample, Wilbur first chooses indices 1 and 2 and adds 1 to corresponding suffixes, then he chooses index 4 and subtract1.
也是比较水,模拟就跑一遍就行了,然后用long long
#include <cstdio> #include <cstring> #include <iostream> #include <stack> #include <queue> #include <map> #include <algorithm> #include <vector> using namespace std; const int maxn = 200005; typedef long long LL; vector<int>G[maxn]; int a[maxn]; int b[maxn]; int main() { int n,m; int tmp = 0; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&b[i]); } LL ans = 0; int add = 0,sub = 0; memset(a,0,sizeof(a)); for(int i = 1;i <= n;i++){ if(add) a[i] += add; if(sub) a[i] -= sub; if(a[i]!=b[i]){ if(a[i]>b[i]) {sub += (a[i]-b[i]);ans += (a[i]-b[i]);} else { add += (b[i]-a[i]);ans += (b[i]-a[i]);} } } printf("%lld\n",ans); return 0; }
View Code
相关文章推荐
- aiku给你们最真心地学习建议--转
- UIAlertView更换为UIAlerController
- CF div2 331 A
- 互联网+脑科学,21世纪带给中国重大理论创新机遇
- 嵌入式系统之KPN网络图(Kahn Process Networks)
- WebKit之video解析
- 警惕多iframe下的同名id引起的诡异问题
- 在数组中快速找到只出现一次的数
- POJ1936-All-in-All(子序列)
- Study JavaScript《Canvas Image相互转换》
- Java源程序的编译及执行问题
- C++实现单链表(2) 一些函数的实现
- Bete冲刺第一阶段
- hdu1217 floyd
- VIM 模板
- Java 数组Array 转换为 List
- 多线程引入
- 测试的发展之路
- WebKit之加载模块
- WebKit之Page类