哈理工 oj2352Save the Little Ant 【所谓的水题】
来源:互联网 发布:电视上安装网络机顶盒 编辑:程序博客网 时间:2024/06/16 21:51
Save the Little AntTime Limit: 1000 MSMemory Limit: 256000 KTotal Submit: 9(4 users)Total Accepted: 3(3 users)Rating: Special Judge: NoDescription
风和日丽的一天,小八和小姐姐又约在一起拯救小蚂蚁了。因为小姐姐发现地上坑坑洼洼的一下雨就会有好多积水,会有路过的小蚂蚁掉下去被淹死...(可行性这种事,先不要考虑...)
小姐姐通过测量已经得到这条小路的海拔高度地图(测量宽度为1),现在请你帮小八计算下雨过后小路上会有多少积水?
比如:
小姐姐的地图:0 1 0 2 1 0 1 3 2 1 2 1
蓝色部分为积水,可得6。
Input有多组输入数据,每组数据先输入一个整数n(1≤n≤105),表示连续测量了n个单位水平距离的高度。接下来一行输入n个整数ai(-105≤ai≤105),按顺序给出测量的高度。
Output对于每组输入数据,输出一个数字,表示积水体积,每组输出占一行。
Sample Input12
0 1 0 2 1 0 1 3 2 1 2 1
Sample Output6
传说中的水题;
#include<bits/stdc++.h>using namespace std;int l[1000006];int r[1000006];int a[1000006];int main(){ int n; while(scanf("%d", &n) != EOF) { memset(l, 0, sizeof l); memset(r, 0, sizeof r); for(int i = 0; i < n; i++) scanf("%d", &a[i]); l[0] = a[0]; r[n - 1] = a[n - 1]; for(int i = 1; i < n; i++) l[i] = max(a[i], l[i - 1]); for(int i = n - 2; i >= 0; i--) r[i] = max(a[i], r[i + 1]); long long ans = 0; for(int i = 0; i < n; i++) ans += max(0, min(l[i - 1], r[i + 1]) - a[i]); printf("%lld\n", ans); } return 0;}
阅读全文
0 0
- 哈理工 oj2352Save the Little Ant 【所谓的水题】
- USACO The Clocks 所谓的广搜?
- 2146 所谓水题
- 所谓的....
- hrbust 1578 哈理工oj 1578 Prince and little Princess-2【双向队列】
- 谈哈理工的生源
- 哈理工OJ 1575 Calculate the day-1(水模拟)
- 这几道题是今天哈理工的比赛题 (线段树)
- 哈理工 OJ 2215 Angle(简单的思维题)
- 哈理工OJ 1431 摞盘子 (思维水题)
- hrbust 哈理工oj 1729 Finding the Way【计算几何】
- 【The little schemer】
- The little Schemer
- the little redis ch1
- the little redis ch2
- The Little Redis Book
- The Little Redis Book
- The Little Prince 01
- 指针数组与数组指针
- bzoj1455 罗马游戏【并查集+可并堆】
- Spring Boot核心条件注解
- Web Services入门
- 手机端横竖屏检测
- 哈理工 oj2352Save the Little Ant 【所谓的水题】
- 《日本语能力测试阶梯导学读解专训N2》
- 【笔记】深入理解 java 虚拟机---GC.
- pstree命令乱码问题
- jsp九大隐含对象
- MySQL索引和查询优化
- 无限递归循环编译器是如何处理的
- HashMap根据value获取key
- hrbust 又是Fibonacci (矩阵快速幂)