Pagini recente » Cod sursa (job #872851) | Cod sursa (job #2021797) | Cod sursa (job #826072) | Cod sursa (job #2240736) | Cod sursa (job #267617)
Cod sursa(job #267617)
# include <stdio.h>
const long int MAXN=34567;
long int n,t,v[MAXN+1],sum[MAXN+1]; long long best[MAXN+1];
void citire()
{
FILE *f=fopen("euro.in","r");
fscanf(f,"%ld %ld",&n,&t);
long int i;
for (i=1;i<=n;i++)
{
fscanf(f,"%ld",&v[i]);
sum[i]=sum[i-1]+v[i];
}
fclose(f);
}
void calc()
{
best[1]=v[1]-t;
long int i,j;
for (i=2;i<=n;i++)
{
best[i]=best[i-1]+v[i]*i-t;
for (j=0;j<=i-1;j++)
best[i]=best[i]>best[j]+(sum[i]-sum[j])*i-t ? best[i] : best[j]+(sum[i]-sum[j])*i-t;
}
}
void scrie()
{
FILE *g=fopen("euro.out","w");
fprintf(g,"%lld\n",best[n]);
fclose(g);
}
int main()
{
citire();
calc();
scrie();
return 0;
}