Pagini recente » Cod sursa (job #1523679) | Cod sursa (job #2953941) | Cod sursa (job #2787544) | Cod sursa (job #1321522) | Cod sursa (job #458244)
Cod sursa(job #458244)
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
#define REP(i,n) for (int i=0;i<(n);i++)
#define FOR(i,a,b) for (int i=(a);i<=(b);i++)
#define FORD(i,b,a) for (int i=(b);i>=(a);i--)
#define MAXN 2010
#define x first
#define y second
typedef pair<int,int>pii;
int n,c,A[MAXN],m[MAXN],ans,p1;
pii p[MAXN];
bool used[MAXN];
void open(){
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
}
int main(){
open();
scanf("%d%d",&n,&c);
REP(i,n){
scanf("%d%d",&p[i].x,&p[i].y);
}
sort(p,p+n);
REP(i,n){
int G=p[i].y;
A[0]=((p[i].y<=p[0].y)?p[i].y:0)-c;
ans=max(ans,A[0]);
FOR(j,1,n-1){
A[j]=max(A[j-1]-c*(p[j].x-p[j-1].x)+((p[i].y<=p[j].y)?p[i].y:0),((p[i].y<=p[j].y)?p[i].y:0)-c);
ans=max(ans,A[j]);
}
}
printf("%d\n",ans);
//system("pause");
return 0;
}