Pagini recente » Cod sursa (job #1479114) | Cod sursa (job #1243254) | Cod sursa (job #1709140) | Cod sursa (job #1242884) | Cod sursa (job #2714347)
#include <fstream>
#include <algorithm>
using namespace std;
FILE *fin=fopen("carnati.in","r");
FILE *fout=fopen("carnati.out","w");
struct carnati
{
int t,p;
}v[2001];
bool cmp(carnati a, carnati b)
{
if(a.t<b.t)
return true;
return false;
}
int main()
{
int n,c,i,j,max=-1,s,x;
fscanf(fin,"%d%d",&n,&c);
for(i=1;i<=n;i++)
{
fscanf(fin,"%d%d",&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,"%d",max);
return 0;
}