Pagini recente » Cod sursa (job #1050383) | Cod sursa (job #724807) | Cod sursa (job #1548784) | Cod sursa (job #2100666) | Cod sursa (job #145302)
Cod sursa(job #145302)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
#define nmax 2048
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define mp make_pair
#define f first
#define s second
int n,C,sol;
pair <int,int> P[nmax];
int f(int i,int j)
{
return (P[i].s>=P[j].s)?P[j].s:0;
}
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
int ii,i,j,a,b,aux;
scanf("%d %d",&n,&C);
FOR(ii,0,n)
{
scanf("%d %d",&a,&b);
P[ii]=mp(a,b);
}
sort(P,P+n);
FOR(i,0,n)
{
aux=f(0,i)-C;
if(aux>sol) sol=aux;
FOR(j,1,n)
{
aux-=(P[j].f-P[j-1].f-1)*C;
if(aux<0) aux=0;
aux+=f(j,i)-C;
if(aux>sol) sol=aux;
}
}
printf("%d\n",sol);
return 0;
}