Pagini recente » Cod sursa (job #2461848) | Cod sursa (job #1740554) | Cod sursa (job #3132990) | Cod sursa (job #3260265) | Cod sursa (job #142647)
Cod sursa(job #142647)
#include<stdio.h>
#define N 2000
int n,i,j,p[N],t[N],c,min,max=0,a[1000],x,y,g;
void sort(){
for(i=0;i<n-1;++i){
min=i;
for(j=i+1;j<n;++j)
if(t[j]<t[min])
min=j;
if(min!=i){
t[x]=t[i];
t[i]=t[min];
t[min]=t[x];
p[x]=p[i];
p[i]=p[min];
p[min]=p[x];
}
}
}
int maxim(int x,int y){
if(x>y)
return x;
return y;
}
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",&t[i],&p[i]);
sort();
for(j=1;j<=n;++j){
a[0]=0;
for(i=1;i<=n;++i){
if(p[i]>=p[j])
g=p[j];
else
g=0;
x=a[i-1]-(t[i]-t[i-1])*c+g;
y=g-c;
a[i]=maxim(x,y);
if(a[i]>max)
max=a[i];
}
}
printf("%d\n",max);
fclose(stdin);
fclose(stdout);
return 0;
}