Atcoder 2152 Boxes and Candies(模拟 + 水题)
来源:互联网 发布:金鼎网络微营销软件 编辑:程序博客网 时间:2024/06/10 20:16
题目链接:http://abc048.contest.atcoder.jp/tasks/arc064_a?lang=en
C - Boxes and Candies
Time limit : 2sec / Memory limit : 256MB
Score : 300 points
Problem Statement
There are N boxes arranged in a row. Initially, the i-th box from the left contains ai candies.
Snuke can perform the following operation any number of times:
- Choose a box containing at least one candy, and eat one of the candies in the chosen box.
His objective is as follows:
- Any two neighboring boxes contain at most x candies in total.
Find the minimum number of operations required to achieve the objective.
Constraints
- 2≤N≤105
- 0≤ai≤109
- 0≤x≤109
Input
The input is given from Standard Input in the following format:
N xa1 a2 … aN
Output
Print the minimum number of operations required to achieve the objective.
Sample Input 1
3 32 2 2
Sample Output 1
1
Eat one candy in the second box. Then, the number of candies in each box becomes (2,1,2).
Sample Input 2
6 11 6 1 2 0 4
Sample Output 2
11
For example, eat six candies in the second box, two in the fourth box, and three in the sixth box. Then, the number of candies in each box becomes (1,0,1,0,0,1).
Sample Input 3
5 93 1 4 1 5
Sample Output 3
0
The objective is already achieved without performing operations.
Sample Input 4
2 05 5
Sample Output 4
10
All the candies need to be eaten.
Submit
题意:n个盒子,每个盒子里面都有a[i]个糖果,要求每个两个盒子糖果差不能超过x,问至少要吃去几个糖果
解析:遍历一遍就可以了,一直吃右侧盒子里的糖果
代码:
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#include<queue>#include<map>#include<cmath>#define N 100009using namespace std;const int INF = 0x3f3f3f3f;int a[N];int main(){ int n, x; scanf("%d%d", &n, &x); for(int i = 1; i <= n; i++) scanf("%d", &a[i]); long long ans, now; ans = now = 0; for(int i = 1; i <= n; i++) { if(now + a[i] <= x) now = a[i]; else ans += now + a[i] - x, now = a[i] - (now + a[i] - x); } printf("%lld\n", ans); return 0;}
- Atcoder 2152 Boxes and Candies(模拟 + 水题)
- Boxes AtCoder
- UVALive 7500 Boxes and Balls(模拟,二分)
- Codeforces Round #158 (Div. 2)C. Balls and Boxes(模拟)
- #420 Div.2 C. Okabe and Boxes——模拟
- Codeforces 821C Okabe and Boxes 思维模拟
- Codeforces 400B Inna and New Matrix of Candies 【模拟】
- hdu 5810 Balls and Boxes (数学)
- hdu5810 Balls and Boxes(数学)
- HDU 5810 Balls and Boxes(概率)
- HHU Boxes and Balls(找规律)
- UVALive 7500 Boxes and Balls (二分)
- Okabe and Boxes (栈 易)
- AtCoder 2303 模拟
- hdu 5407 CRB and Candies(数论)
- 数论(CRB and Candies,HDU 5407)
- CRB and Candies (组合的LCM)
- Atcoder Shik and Game
- C语言itoa()函数和atoi()函数详解(整数转字符C实现)
- 如何在Android studio里引入myaql服务器版数据库
- [CNN感知野]A guide to receptive field arithmetic for CNN
- Linux(七) 之 yum和rpm
- Vi基础操作
- Atcoder 2152 Boxes and Candies(模拟 + 水题)
- task_struct
- 用Java Robot实现屏幕截取、远程监控
- 第七届蓝桥杯—冰雹数
- 利用JS封装iframe骗过搜索引擎
- Python中的排列和组合
- Android可左右滑动的ListView开源框架SwipeMenuListView
- muduo库中对线程池的实现(1)
- Spring学习-30:Spring中的事务管理之环境搭建