Pagini recente » Cod sursa (job #1898031) | Cod sursa (job #2137812) | Cod sursa (job #668936) | Cod sursa (job #1864950) | Cod sursa (job #2645487)
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int n,c,i,sum,p,hmax,x,j;
struct carnati{
int t,p;
}v[2003];
int cmp(carnati a,carnati b){
return (a.t<b.t);
}
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
scanf("%d%d",&n,&c);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].t,&v[i].p);
sort(v+1,v+n+1,cmp);
v[0].t=v[1].t;
for(i=1;i<=n;i++){
sum=0;
p=v[i].p;
for(j=1;j<=n;j++){
x=sum-(v[j].t-v[j-1].t)*c;
if(x<0){
sum=0;
}else{
sum=x;
}
if(v[j].p>=p)
sum=sum+p;
hmax=max(hmax,sum);
}
}
printf("%d",hmax-c);
return 0;
}