洛谷P2025 脑力大人之监听电话
2024-08-25 20:21:19
题目描述
话说埃菲尔铁塔小区的房子只有一栋,且只有一层,其中每一家都装有一个监听器,具体地,如果编号为第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;
}
最新文章
- 非正规方法处理AngulurJS模块管理问题
- c++堆
- [linux]解决vsftpd 读取目录列表失败的问题
- 【Apache】apache简单配置URL重写规则
- UVM中的class
- C# 通过Get、Post、Soap调用WebService的方法
- JAVA基础学习day27--反射机制
- [转]Linux下的Makefile
- windows条件下,Ping加上时间戳,并保存到文件,适用于测试网络
- ApplicationContext容器的设计原理
- HDU-4662 MU Puzzle 水题
- Python学习之条件判断和循环
- 独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
- HashMap源码调试——认识";put";操作
- MR1和MR2(Yarn)工作原理流程
- debian下arp欺骗
- Linux系列教程(七)——Linux常用命令之帮助和用户管理命令
- Docker备忘录
- html5常用数学 公式的用法
- debug的一点总结
热门文章
- leetcode 5 Longest Palindromic Substring(Manacher算法求最长回文串)
- stl_pair.h
- 继续学习C:数字进制表示
- [原]NYOJ-括号匹配-2(java)
- luoguP1941福赖皮波德
- Oracle 12c 新特性之 数据库内归档(In-Database Archiving)
- [IBM]掌握Ajax,Ajax中的高级请求和响应
- win10系统-javac不是内部或外部命令
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- NodeJS”热部署“代码,实现动态调试(hotnode,可以实现热更新)