Pagini recente » Cod sursa (job #479081) | Cod sursa (job #2734309) | Cod sursa (job #1931959) | Cod sursa (job #1598309) | Cod sursa (job #553423)
Cod sursa(job #553423)
#include <cstdio>
#include <algorithm>
using namespace std;
#define NMAX 2011
struct client {
int p, t;
} C[NMAX];
int A[NMAX], sol, n, p, c, x, i, j;
bool cmp (client a, client b) {
return a.t < b.t;
}
int main () {
freopen ("carnati.in", "r", stdin);
freopen ("carnati.out", "w", stdout);
scanf ("%d %d", &n, &c);
for (i = 1; i <= n; i++)
scanf ("%d %d", &C[i].t, &C[i].p);
sort (C + 1, C + 1 + n, cmp);
for (j = 1; j <= n; j++) {
p = C[j].p;
for (i = 1; i <= n; i++) {
if (C[i].p >= p) x = p;
else x = 0;
A[i] = max (x - c, A[i-1] + x - (C[i].t - C[i-1].t) * c);
if (A[i] > sol) sol = A[i];
}
}
printf ("%d", sol);
return 0;
}