Pagini recente » Cod sursa (job #1146494) | Cod sursa (job #1947490) | Cod sursa (job #2116295) | Cod sursa (job #3145525) | Cod sursa (job #2288765)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int urm = 1, n, x, l, u[100001], total, d, k;
struct oaie {
int nr, val;
}o[100001];
bool cmp (oaie a, oaie b) {
return (a.val > b.val || a.val == b.val && a.nr < b.nr);
}
int main() {
fin >> n >> x >> l;
for (int i = 1; i <= n; ++i) {
fin >> d >> o[i].val;
o[i].nr = (x - d) / l + 1;
u[i] = i;
}
sort (o + 1, o + n + 1, cmp);
for (int i = 1; i <= n; ++i) {
if (o[i].nr >= urm) {
++u[o[i].nr];
++k;
urm = u[k];
total += o[i].val;
}
}
fout << total;
}