Pagini recente » Cod sursa (job #491169) | Cod sursa (job #2151475) | Cod sursa (job #1874274) | Cod sursa (job #2050014) | Cod sursa (job #1371708)
#include<fstream>
#include<algorithm>
#define f first
#define s second
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int n,i,j,x,maxim,c;
int v[2005];
pair <int,int> p[2005];
int main(){
fin>>n>>c;
for(i=1;i<=n;i++){
fin>>p[i].f>>p[i].s;
}
sort(p+1,p+n+1);
p[0].f=-10;
p[0].s=-10;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
x=p[i].s;
if(p[j].s<x)
x=0;
if(v[j-1]-(p[j].f-p[j-1].f)*c+x<x-c)
v[j]=x-c;
else
v[j]=v[j-1]-(p[j].f-p[j-1].f)*c+x;
if(maxim<v[j])
maxim=v[j];
}
}
fout<<maxim;
return 0;
}