Pagini recente » Cod sursa (job #3152995) | Cod sursa (job #1643094) | Cod sursa (job #1029860) | Cod sursa (job #2118356) | Cod sursa (job #2651781)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int n,cp,dist[2005];
struct bos
{
int x,y;
}v[2005];
bool bsort(bos a,bos b)
{
return (a.x<b.x);
}
int ssm(int sum)
{
int res=-cp,c=0;
for (int i=0; i<n; i++)
{
c=c-dist[i]*cp;
if(c<0)
c=0;
if(v[i].y>=sum)
c = c + sum;
if(c>res)
res=c;
}
return res-cp;
}
int main()
{
int x,y,output=0,xy;
cin >> n >> cp;
for(int i=0;i<n;i++)
{
cin >> x >> y;
v[i].x=x;
v[i].y=y;
}
sort(v,v+n,bsort);
dist[0]=0;
for(int i=1;i<n;i++)
dist[i]=v[i].x-v[i-1].x;
for(int i=0;i<n;i++)
{
xy=ssm(v[i].y);
if(xy>output)
output=xy;
}
cout << output;
return 0;
}