Pagini recente » Cod sursa (job #130004) | Monitorul de evaluare | Cod sursa (job #1965955) | Cod sursa (job #3312892) | Cod sursa (job #3335397)
#include <fstream>
#include <algorithm>
using namespace std;
struct ura {
int t, p;
};
ura v[2005];
bool cmp (ura a, ura b) {
if(a.t < b.t)
return true;
return false;
}
int main()
{
ifstream cin ("carnati.in");
ofstream cout ("carnati.out");
int n, i, c, s, sol = 0, j;
cin >> n >> c;
for(i = 1; i <= n; i++)
cin >> v[i].t >> v[i].p;
sort(v + 1, v + n + 1, cmp);
v[0].t = v[1].t;
for(i = 1; i <= n; i++) {
s = 0;
for(j = 1; j <= n; j++) {
s -= (v[j].t - v[j - 1].t) * c;
if(s < 0)
s = 0;
if(v[j].p >= v[i].p)
s += v[i].p;
sol = max(sol, s);
}
}
sol -= c;
cout << sol;
return 0;
}