Pagini recente » Cod sursa (job #378388) | Cod sursa (job #1516988) | Cod sursa (job #2759590) | Cod sursa (job #2745588) | Cod sursa (job #2611620)
#include <bits/stdc++.h>
#define DAU ios::sync_with_stdio(false); fin.tie(0); fout.tie(0);
#define PLEC fin.close(); fout.close(); return 0;
#define timp first
#define bani second
using namespace std;
const string problem("carnati");
ifstream fin(problem + ".in");
ofstream fout(problem + ".out");
int n, c, last, curr, res;
int main() {
DAU
fin >> n >> c;
vector<pair<int, int>> v(n + 1);
unordered_set<int> preturi;
for (int i = 1; i <= n; ++i) {
fin >> v[i].timp >> v[i].bani;
preturi.insert(v[i].bani);
}
sort(v.begin(), v.end());
for (const int& pret : preturi) {
last = 0;
for (int i = 1; i <= n; ++i) {
curr = max(last - c * (v[i].timp - v[i-1].timp), 0);
if (v[i].bani >= pret)
curr += pret;
res = max(res, curr);
last = curr;
}
}
fout << res - c;
PLEC
}