蒟蒻自己做了一道题目,我的AC记录:
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,x,a[100001],f[100001],ans=0;
signed main() {
cin>>n>>x;
for (int i=1;i<=n;i++) cin>>a[i];
for (int i=1;i<=n;i++) {
if (a[i-1]+a[i]>x) {
int k=a[i]+a[i-1]-x;
ans+=k;
a[i]-=k;
}
}
cout<<ans;
return 0;
}
结果发现,题解长这样:
#include<bits/stdc++.h>
using namespace std;
long long n,x;
long long a[100005];
long long ans;
int main() {
cin>>n>>x;
for(int i=1;i<=n;i++){
cin >> a[i];
if (a[i]+a[i-1]>x) {
ans+=a[i]+a[i-1]-x;
a[i]=a[i]-(a[i-1]+a[i]-x);
}
}
cout<<ans;
return 0;
}
这样会不会棕啊?