答案
查看原帖
答案
1038956
Lin14514楼主2024/1/14 09:25
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int a[100001];//大小为100001的数组a
    int n,x;
    cin>>n>>x;//读取糖果盒的个数n和给定的参数x
    for(int i=0;i<n;i++){
        cin>>a[i];//读取糖果盒中糖果的数量
    }
    int c=0;//初始化已吃掉的糖果数量为0
    for (int i=1;i<n;i++){
        int b=max(0,a[i]+a[i-1]-x);//计算相邻两个盒子中糖果数量之和与x的差,取大的一个
        c+=b;//更新已吃掉的糖果数量
        a[i]-=b;//更新第i个盒子
    }
    cout<<c<<endl;//输出最少要吃掉的糖果数量
    return 0;
}

2024/1/14 09:25
加载中...