Pagini recente » Cod sursa (job #28202) | Cod sursa (job #2507671) | Cod sursa (job #1398616) | Cod sursa (job #1754036) | Cod sursa (job #1646615)
#include <fstream>
#include <set>
#include <vector>
using namespace std;
vector<int> v[2000];
int main()
{
set<int> pret;
fstream in("carnati.in");
int n, c, t, p;
in >> n >> c;
while (n--) {
in >> t >> p;
pret.insert(p);
v[t].push_back(p);
}
int best = 0;
int act;
for (auto cost : pret) {
act = 0;
for (int i = 0; i <= 1600; i++) {
if (act > best) {
best = act;
}
act -= c;
for (auto j : v[i]) {
if (j >= cost) {
act += cost;
}
}
if (act < 0)
act = 0;
}
}
ofstream out("carnati.out");
out << best;
return 0;
}