Pagini recente » Cod sursa (job #1648831) | Cod sursa (job #2482933) | Cod sursa (job #758569) | Cod sursa (job #1954048) | Cod sursa (job #2974740)
#include <fstream>
#include <queue>
#include <algorithm>
#include <queue>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
constexpr size_t LIM = 1e5 + 5;
int N, X, L, i, D, A;
pair<int, int> sheep[LIM];
priority_queue<int> pq;
long long ans;
static inline bool compare(
const pair<int, int>& p1, const pair<int, int>& p2
) {
return p1.first > p2.first;
}
int main() {
fin >> N >> X >> L;
for (i = 1; i <= N; ++i) {
fin >> D >> A;
sheep[i] = { D, A };
}
sort(sheep + 1, sheep + N + 1, compare);
for (int step = 1, i = 1; i <= N; ++step) {
int mx = 0;
for (; sheep[i].first + step * L > X && i <= N; ++i)
mx = max(mx, sheep[i].second);
ans += mx;
}
fout << ans;
fin.close();
fout.close();
return 0;
}