P3817 小A的糖果
题目描述
小A有N个糖果盒,第i个盒中有a[i]颗糖果。
小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖。
输入输出格式
输入格式:
第一行输入N和x。
第二行N个整数,为a[i]。
输出格式:
至少要吃掉的糖果数量。
输入输出样例
说明
样例解释1
吃掉第二盒中的糖果。
样例解释2
第二盒吃掉6颗,第四盒吃掉2颗,第六盒吃掉3颗。
30%的测试数据,2<=N<=20,0<=a[i], x<=100
70%的测试数据,2<=N<=1000,0<=a[i], x<=10^5
100%的测试数据,2<=N<=10^5,0<=a[i], x<=10^9
╮(╯▽╰)╭哎,
有家不能回的感觉真痛苦,
妈~我真的想你了~~~
此题直接模拟即可。
注意开long long。
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 using namespace std; 7 8 long long n,x,t,s; 9 int a[100002]; 10 11 int main() 12 { 13 scanf("%d%d",&n,&x); 14 for(int i=1;i<=n;++i) 15 scanf("%d",&a[i]); 16 for(int i=1;i<n;++i) 17 { 18 t=a[i]+a[i+1]; 19 if(t>x) 20 { 21 a[i+1]-=t-x; 22 s+=t-x; 23 } 24 } 25 printf("%lld",s); 26 return 0; 27 }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。