P3817 小A的糖果

题目链接

#include <bits/stdc++.h>
using namespace std;

const int N = 1e6+7;

int n,x;
int a[N];
long long sum;

int main() {
    cin>>n>>x;
    
    for(int i=1;i<=n;i++) cin>>a[i]; 
    if(a[1]>x) {  //当第一个数大于 已经超过 x 
      sum+=a[1]-x;  //需要吃的糖果数 
      a[1]=x;      //请第一个改为最小数量 
	}
    for(int i=2;i<=n;i++){
    	if(a[i]+a[i-1]>x) { //当相邻的两个糖果的数量 超过 x时 
    		sum+=a[i]+a[i-1]-x;   //需要吃的糖果数 他俩的和-x (超过的量) 
    		a[i]=x-a[i-1];        //贪心  
		}
	}
	cout<<sum;
	return 0;

}
posted @ 2024-05-23 21:18  LTphy  阅读(13)  评论(0)    收藏  举报