Pagini recente » Cod sursa (job #2905346) | Cod sursa (job #216622) | Cod sursa (job #2634058) | Cod sursa (job #1543495) | Cod sursa (job #2698790)
#include <bits/stdc++.h>
using namespace std;
#define x1 "carnati.in"
#define x2 "carnati.out"
ifstream in(x1);
ofstream out(x2);
#define NMAX 2000
struct client {
int p, t;
} v[NMAX + 1];
bool cmp(const client& a, const client&b) {
return a.t < b.t;
}
int main() {
int n, i, j, c, ans = 0, l, l1;
in >> n >> c;
for(i = 1; i <= n; i++)
in >> v[i].t >> v[i].p;
sort(v + 1, v + n + 1, cmp);
v[0].t = -1;
for(i = 1; i <= n; i++) {
l = l1 = 0;
for(j = 1; j <= n; j++) {
if(v[i].p <= v[j].p) {
l = max(l + v[i].p - c * (v[j].t - v[l1].t), v[i].p - c);
ans = max(ans, l);
l1 = j;
}
}
}
out << ans;
return 0;
}