Pagini recente » Cod sursa (job #252756) | Cod sursa (job #1666009) | Istoria paginii runda/simulare_oji_2023_clasa_9_10_martie/clasament | Cod sursa (job #146249) | Cod sursa (job #2651768)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int n,cp;
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,timp=1;
for (int i=0; i<n; i++)
{
c=c-timp*cp;
timp=v[i+1].x-v[i].x;
if(v[i].y>=sum)
c = c + sum;
if(c>res)
res=c;
if(c<0)
{
c=0;
timp=1;
}
}
if(res==-cp)
return 0;
return res;
}
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);
for(int i=0;i<n;i++)
{
xy=ssm(v[i].y);
if(xy>output)
output=xy;
}
cout << output;
return 0;
}