Pagini recente » Cod sursa (job #1644668) | Cod sursa (job #2142535) | Cod sursa (job #3201792) | Cod sursa (job #2447964) | Cod sursa (job #1791173)
#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<0)
{
s=-k;
inc=v[j+1].timp;
}
}
}
fprintf(fo,"%d",maxp);
fclose(fi);
fclose(fo);
return 0;
}