Pagini recente » Cod sursa (job #3361932) | Cod sursa (job #3360670) | Cod sursa (job #3361822) | Cod sursa (job #3361773) | Cod sursa (job #3361345)
#include <iostream>
#include <algorithm>
using namespace std;
struct client {
long long t, p;
};
bool cmp(client &a, client &b) {
return a.t < b.t;
}
client v[2001];
long long pret[2001];
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
freopen("carnati.in", "r", stdin);
freopen("carnati.out", "w", stdout);
int n;
long long c;
cin >> n >> c;
for (int i = 0; i < n; i++) {
cin >> v[i].t >> v[i].p;
pret[i] = v[i].p;
}
sort(v, v + n, cmp);
sort(pret, pret + n);
long long mx_p = 0;
for (int i = 0; i < n; i++) {
long long p = pret[i];
if (i > 0 && pret[i] == pret[i - 1]) {
continue;
}
long long c_p = 0;
for (int j = 0; j < n; j++) {
long long gain = 0;
if (v[j].p >= p) {
gain = p;
}
if (j == 0) {
c_p = gain - c;
} else {
long long time_cost = (v[j].t - v[j - 1].t) * c;
c_p = max(gain - c, c_p - time_cost + gain);
}
mx_p = max(mx_p, c_p);
}
}
cout << mx_p;
return 0;
}