博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces ---596B--Wilbur and Array(贪心模拟)
阅读量:5017 次
发布时间:2019-06-12

本文共 1715 字,大约阅读时间需要 5 分钟。

Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u

Description

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 Input

Input
51 2 3 4 5
Output
5
Input
41 2 2 1
Output
3

Hint

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 subtract 1.

Source

题意:
给你一个长度为n的数组,然后对一个数组a操作,每次选取一个i,对i--n的元素进行加一或者减一的操作,问至少要多少步才可以将a变为目标数组
直接贪心模拟,num[0]=0;第一个数num[1]需要操作的次数一定是加num[1]次,后边的数在他前边数的基础上操作| num[i]-num[i-1] | 次,加或者减
#include
#include
#include
int num[200000+10];int main(){ int n; long long sum=0;//数据范围略大,操作次数多了点 scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&num[i]); sum+=abs(num[i]-num[i-1]); } printf("%lld\n",sum); return 0;}

转载于:https://www.cnblogs.com/playboy307/p/5273704.html

你可能感兴趣的文章
关于dll 中没有可放置在工具箱上的组件 的解决技巧
查看>>
centos7没有安装ifconfig命令的解决方法
查看>>
DateTime还是DateTimeOffset?Now还是UtcNow?
查看>>
Kettle工具 发送邮件 运行日志
查看>>
react-native项目之样式总结
查看>>
Vim 常用命令 一
查看>>
jQuery动画特效笔记
查看>>
sql开启xp_cmdshell
查看>>
day1——js方法关键字的问题(onclick点了没反应)
查看>>
基础SQL注入
查看>>
Zepto源码
查看>>
Android5.0Demo
查看>>
LeetCode--038--报数(java)
查看>>
密码强度小练习
查看>>
哪些素质很重要,却是读书学不来的?
查看>>
Java 实例 - 集合遍历
查看>>
一、Hello,Word!和环境配置
查看>>
解决Pycharm中module 'pip' has no attribute 'main'的问题
查看>>
Swift与OC代码转换实例
查看>>
学习笔记(二)--Lucene简介
查看>>