Pagini recente » Cod sursa (job #1571487) | Cod sursa (job #1622041) | Cod sursa (job #1244462) | Cod sursa (job #1745555) | Cod sursa (job #3316164)
#include <fstream>
#define nmax 34570
using namespace std;
ifstream cin("euro.in");
ofstream cout("euro.out");
int n,poz[nmax],t,x;
long long dp[nmax],val[nmax];
int main()
{
cin>>n>>t>>val[1];
dp[1]=val[1]-t;
for(int i=2;i<=n;i++){
cin>>x;
val[i]=val[i-1];
poz[i]=poz[i-1];
if(val[i]<=0){
val[i]=x;
poz[i]=i-1;
}else
val[i]+=x;
dp[i]=max(dp[i-1]+1ll*x*i-t,dp[poz[i]]+1ll*val[i]*i-t);
}
cout<<dp[n];
return 0;
}