Pagini recente » Cod sursa (job #612600) | Cod sursa (job #3296510) | Cod sursa (job #2754236) | Cod sursa (job #411125) | Cod sursa (job #532242)
Cod sursa(job #532242)
#include <iostream>
#include <fstream>
#include <algorithm>
#define MULT 9999999
#define DN 2005
#define x first
#define y second
using namespace std;
typedef pair<int, int> PER;
PER v[DN];
int n,c,sol=-MULT;
int calc(int pret) {
int smax=-MULT,sc=0,ut=-1;
for(int i=1; i<=n; ++i) {
if(v[i].y<pret) continue;
if(-1!=ut && sc>(v[i].x-ut-1)*c) sc+=pret-c*(v[i].x-ut);
else sc=pret-c;
smax=max(smax,sc);
ut=v[i].x;
}
return smax;
}
int main()
{
ifstream f("carnati.in");
ofstream g("carnati.out");
f>>n>>c;
for(int i=1; i<=n; ++i) f>>v[i].x>>v[i].y;
sort(v+1,v+n+1);
for(int i=1; i<=n; ++i) {
int pc=calc(v[i].y);
sol=max(sol,pc);
}
g<<sol;
return 0;
}