Pagini recente » Cod sursa (job #3361761) | Cod sursa (job #3361987) | Monitorul de evaluare | Cod sursa (job #3361288) | Cod sursa (job #3361342)
#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;
}
for (int j = 0; j < n; j++) {
long long cnt_clienti = 0;
for (int k = j; k < n; k++) {
if (v[k].p >= p) {
cnt_clienti++;
}
long long timp_total = (v[k].t - v[j].t) + 1;
long long profit = cnt_clienti * p - timp_total * c;
mx_p = max(mx_p, profit);
}
}
}
cout << mx_p;
return 0;
}