P3817 小A的糖果(洛谷月賽)
阿新 • • 發佈:2017-07-02
print long -c font ron -a urn lld strong
P3817 小A的糖果
題目描述
小A有N個糖果盒,第i個盒中有a[i]顆糖果。
小A每次可以從其中一盒糖果中吃掉一顆,他想知道,要讓任意兩個相鄰的盒子中加起來都只有x顆或以下的糖果,至少得吃掉幾顆糖。
輸入輸出格式
輸入格式:
第一行輸入N和x。
第二行N個整數,為a[i]。
輸出格式:
至少要吃掉的糖果數量。
輸入輸出樣例
輸入樣例#1:3 3 2 2 2輸出樣例#1:
1輸入樣例#2:
6 1 1 6 1 2 0 4輸出樣例#2:
11輸入樣例#3:
5 9 3 1 4 1 5輸出樣例#3:
0
說明
樣例解釋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
直接邊輸入,邊處理,加起來大於x,就減,不大於就直接更新的last(las)的值。
註意:要開long long,80分與100分的區別,QAQ
1#include<cstdio> 2 3 long long a,n,x,las = 0,ans; 4 5 int main() 6 { 7 scanf("%lld%lld",&n,&x); 8 9 for (int i=1; i<=n; ++i) 10 { 11 scanf("%lld",&a); 12 if (a+las>x) 13 { 14 ans += (a+las-x); 15 las = x-las;16 } 17 else las = a; 18 } 19 printf("%lld",ans); 20 return 0; 21 }
P3817 小A的糖果(洛谷月賽)