Pagini recente » Cod sursa (job #272779) | Cod sursa (job #1700921) | Cod sursa (job #1494883) | Rating Chira-Jurj Alesia (AlesiaCJ) | Cod sursa (job #2714360)
#include <fstream>
#include <algorithm>
using namespace std;
FILE *fin=fopen("carnati.in","r");
FILE *fout=fopen("carnati.out","w");
struct carnati
{
long long t,p;
}v[2001];
bool cmp(carnati a, carnati b)
{
if(a.t<b.t)
return true;
return false;
}
int main()
{
long long n,c,i,j,max=-1,s,x;
fscanf(fin,"%lld%lld",&n,&c);
for(i=1;i<=n;i++)
{
fscanf(fin,"%lld%lld",&v[i].t,&v[i].p);
}
sort(v+1,v+n+1,cmp);
for(i=1;i<=n;i++)
{
s=0;
x=v[1].t-1;
for(j=1;j<=n;j++)
{
if(s<0)
{
s=0;
x=v[j].t-1;
}
if(v[j].p>=v[i].p)
s+=v[i].p;
s-=(v[j].t-x)*c;
x=v[j].t;
if(s>max)
max=s;
}
}
fprintf(fout,"%lld",max);
return 0;
}