トピック:
分析:非常に単純な貪欲です。診察室で落ち着いて分析できるといいのですが。
左から右へ、最初の合計のペアがxを超えると、右側のペアが明らかに削除されます。
ピット、最小は0です。
コード:
#include<bits/stdc++.h>
using namespace std;
int m,x;
int A[100005];
int main()
{
cin>>m>>x;
for(int i=0;i<m;i++) cin>>A[i];
long long ans=0;
for(int i=0;i<m-1;i++)
{
if(A[i]+A[i+1]<=x) continue;
ans+=A[i]+A[i+1]-x;
int c=A[i]+A[i+1]-x;
A[i+1]=A[i+1]-c;
A[i+1]=max(A[i+1],0);
}
cout<<ans;
}