Pagini recente » Cod sursa (job #1884570) | Cod sursa (job #2181710) | Cod sursa (job #71053) | Cod sursa (job #2860176) | Cod sursa (job #1791458)
#include<cstdio>
#include<algorithm>
struct Client
{
int timp;
int pret;
};
Client v[2000];
bool cmp(Client a,Client b)
{
return a.timp<b.timp;
}
int main()
{
int n,k,i,s,inc,maxp=0,j;
FILE*fi,*fo;
fi=fopen("carnati.in","r");
fo=fopen("carnati.out","w");
fscanf(fi,"%d%d",&n,&k);
for(i=0; i<n; i++)
fscanf(fi,"%d%d",&v[i].timp,&v[i].pret);
std::sort(v,v+n,cmp);
maxp=0;
for(i=0; i<n; i++)
{
s=-k;
inc=v[0].timp;
for(j=0; j<n; j++)
{
if(v[j].pret>=v[i].pret)
{
s+=v[i].pret;
s=s-((v[j].timp-inc)*k);
inc=v[j].timp;
}
if(s>maxp)
{
maxp=s;
}
if(s-((v[j].timp-inc)*k)<0)
{
s=-k;
inc=v[j+1].timp;
}
}
}
fprintf(fo,"%d",maxp);
fclose(fi);
fclose(fo);
return 0;
}