20分,萌新求助
查看原帖
20分,萌新求助
577957
Ohhhhhh321楼主2021/11/16 19:51
int main(){
	long long n,x,a[200002],ans=0;
	scanf("%lld%lld",&n,&x);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	for(int i=1;i<=n;i++){
		if(a[i]>x){
			ans+=a[i]-x;
			a[i]=x;
		}
	}
	for(int i=2;i<=n-1;i++){
		if(a[i]+a[i-1]>x&&a[i]+a[i+1]>x){
			if(a[i]+a[i-1]>x||a[i]+a[i+1]>x){
			if(a[i-1]>a[i+1]){
				ans+=a[i-1]+a[i]-x;
				a[i]=x-a[i-1];
			}
			else{
			ans+=a[i+1]+a[i]-x;
				a[i]=x-a[i+1];
			}
			}
		}
		else if(a[i]+a[i-1]>x){
			ans+=a[i-1]+a[i]-x;
			a[i]=x-a[i-1];
		}}
	if(a[n]+a[n-1]>x){
		ans+=a[n-1]+a[n]-x;
		a[n]=x-a[n-1];
	}
	printf("%lld",ans);
	return 0;
}```
2021/11/16 19:51
加载中...