Pagini recente » Cod sursa (job #1492023) | Cod sursa (job #2134911) | Cod sursa (job #1566383) | Cod sursa (job #1984650) | Cod sursa (job #1357517)
#include<cstdio>
#include<algorithm>
using namespace std;
struct car{
int t;
int p;
}v[2010];
int n,c,i,j,vmax,d[3010];
FILE *f,*g;
int cmp(car a,car b){
return a.t<b.t;
}
int maxim(int a,int b){
if(a>b)
return a;
return b;
}
int main(){
f=fopen("carnati.in","r");
g=fopen("carnati.out","w");
fscanf(f,"%d%d",&n,&c);
for(i=1;i<=n;i++){
fscanf(f,"%d%d",&v[i].t,&v[i].p);
}
sort(v+1,v+n+1,cmp);
v[0].t=v[1].t-1;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
d[j]=0;
if(v[i].p<=v[j].p)
d[j]=v[i].p;
d[j]=maxim( d[j] - c, d[j-1] + d[j] - ( v[j].t - v[j-1].t ) *c );
vmax=maxim(d[j],vmax);
}
}
fprintf(g,"%d",vmax);
fclose(f);
fclose(g);
return 0;
}