Pagini recente » Cod sursa (job #9458) | Cod sursa (job #2500094) | Cod sursa (job #2598811) | Cod sursa (job #3197605) | Cod sursa (job #1691204)
#include <iostream>
#include <fstream>
#define MIN -(1LL<<62)
#define DIM 34600
using namespace std;
ifstream f("euro.in");
ofstream g("euro.out");
int n,t,tail=1; long long d[DIM],sum[DIM],s,a,ind[DIM];
void read()
{
f>>n>>t; int i;
for(i=1;i<=n;i++)
{
f>>a; sum[i]=sum[i-1]+a;
if(s<0){s=0; tail++;}
s+=a; ind[tail]=i;
}
f.close();
}
void solve()
{
int i,j;
for(i=1;i<=tail;i++)
{d[i]=MIN; for(j=0;j<=i&&j*j<4*t;j++)d[i]=max(d[i],ind[i]*(sum[ind[i]]-sum[ind[i-j]])-t+d[i-j]);}
g<<d[tail];
}
int main()
{
read(); solve();
return 0;
}