Pagini recente » Cod sursa (job #300673) | Cod sursa (job #125132) | Cod sursa (job #311787) | Cod sursa (job #3209471) | Cod sursa (job #137606)
Cod sursa(job #137606)
#include<stdio.h>
int n,t[2001];
long c,p[2001],costm;
void citire ()
{
int i;
FILE *f;
f=fopen("carnati.in","r");
fscanf(f,"%d%ld",&n,&c);
for (i=1;i<=n;++i)
fscanf(f,"%d%ld",&t[i],&p[i]);
fclose(f);
}
int selectie (int i, int j)
{
int k;
long val,v[2001],ma,s=0;
for (k=i;k<=j;++k)
{
s+=p[k];
}
ma=s/(j-i+1);
for (k=i;k<=j;++k)
if (p[k]>=ma)
{
val=p[k];
k=j+1;
}
s=0;
for (k=i;k<=j;++k)
if (p[k]>=val)
s+=val;
return s;
}
void solve ()
{
int i,j;
long cost;
for (i=1;i<=n-1;++i)
for (j=i+1;j<=n;++j)
{
cost=selectie(i,j)-(t[j]-t[i]+1)*c;
if (cost>costm)
{
costm=cost;
//deschis=t[i];
//inchis=t[j];
}
}
}
void afisare ()
{
FILE *f;
f=fopen("carnati.out","w");
fprintf(f,"%ld",costm);
fclose(f);
}
int main ()
{
citire ();
solve ();
afisare ();
return 0;
}