题目描述

话说埃菲尔铁塔小区的房子只有一栋,且只有一层,其中每一家都装有一个监听器,具体地,如果编号为第i家的人给编号第\(j\)家的人打了电话,\(i \leq j\),当然,也会有些人无聊地自己给自己打电话,那么第\(i,i+1,i+2\),…,\(j-1\),\(j\)号的监听器都会收到一次信号。现在把每个监听器的收到信号数都告诉你(即\(A_1\)到\(An\)),请问他们至少打了几次电话?

输入输出格式

输入格式:

第一行一个数\(N\),表示用户数。

第二行\(N\)个数,表示监听器收到的信号数。

输出格式:

一个数,最少的打电话次数。

输入输出样例

输入样例#1:

5
1 2 3 2 1

输出样例#1:

3

输入样例#2:

5
1 4 4 5 1

输出样例#2:

5

说明

对于\(100\%\)的数据,\(1 \leq N \leq 1000\),\(1 \leq A_i \leq 2000\)

思路:双倍经验,NOIP2018 Day1T1

代码:

#include<cstdio>
#include<cctype>
#define maxn 100007
#define ll long long
using namespace std;
int n,a[maxn],ans;
inline int qread() {
char c=getchar();int num=0,f=1;
for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
for(;isdigit(c);c=getchar()) num=num*10+c-'0';
return num*f;
}
int main() {
n=qread();
for(int i=1;i<=n;++i) {
a[i]=qread();
if(a[i]>a[i-1]) ans+=a[i]-a[i-1];
}
printf("%d\n",ans);
return 0;
}

最新文章

  1. 非正规方法处理AngulurJS模块管理问题
  2. c++堆
  3. [linux]解决vsftpd 读取目录列表失败的问题
  4. 【Apache】apache简单配置URL重写规则
  5. UVM中的class
  6. C# 通过Get、Post、Soap调用WebService的方法
  7. JAVA基础学习day27--反射机制
  8. [转]Linux下的Makefile
  9. windows条件下,Ping加上时间戳,并保存到文件,适用于测试网络
  10. ApplicationContext容器的设计原理
  11. HDU-4662 MU Puzzle 水题
  12. Python学习之条件判断和循环
  13. 独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
  14. HashMap源码调试——认识&quot;put&quot;操作
  15. MR1和MR2(Yarn)工作原理流程
  16. debian下arp欺骗
  17. Linux系列教程(七)——Linux常用命令之帮助和用户管理命令
  18. Docker备忘录
  19. html5常用数学 公式的用法
  20. debug的一点总结

热门文章

  1. leetcode 5 Longest Palindromic Substring(Manacher算法求最长回文串)
  2. stl_pair.h
  3. 继续学习C:数字进制表示
  4. [原]NYOJ-括号匹配-2(java)
  5. luoguP1941福赖皮波德
  6. Oracle 12c 新特性之 数据库内归档(In-Database Archiving)
  7. [IBM]掌握Ajax,Ajax中的高级请求和响应
  8. win10系统-javac不是内部或外部命令
  9. 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
  10. NodeJS”热部署“代码,实现动态调试(hotnode,可以实现热更新)