蒟蒻文化有限,请求支援!!!
#include<bits/stdc++.h>
using namespace std;
int h[25],n,b,minn = 1e9,sum,dp[25];
int main(){
cin>>n>>b;
for(int i=1;i<=n;i++)
{
cin>>h[i];
sum += h[i];
}
dp[1] = h[1];
for(int i=2;i<=n;i++)
{
if(dp[i-1] - b >= 0 && dp[i-1] - b < dp[i-1] - b + h[i])
dp[i] = dp[i-1];
else if(dp[i-1] - b < 0 && dp[i-1] - b + h[i] < 0)
dp[i] = max(dp[i-1],dp[i-1] + h[i]);
else
dp[i] = dp[i-1] + h[i];
}
int tot = dp[n] - b;
for(int i=1;i<=n;i++)
if(h[i] <= tot)
tot -= h[i];
cout<<tot<<endl;
return 0;
}