Pagini recente » Cod sursa (job #2083505) | Cod sursa (job #598376) | Cod sursa (job #2815157) | Cod sursa (job #1162824) | Cod sursa (job #1790754)
#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=-100000,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<0)
{
s=-k;
inc=v[j+1].timp;
}
}
}
fprintf(fo,"%d",maxp);
fclose(fi);
fclose(fo);
return 0;
}