Pagini recente » Cod sursa (job #1967067) | Cod sursa (job #1017189) | Cod sursa (job #698181) | Cod sursa (job #1435918) | Cod sursa (job #3252854)
#include <bits/stdc++.h>
#define MAX 100005
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n, d, i, x, y, l, maxi, sum;
set<pair<int, int>>s;
priority_queue<pair<int, int>>pq;
/// lupul urias si rau infoarena :)
int main()
{
fin>>n>>d>>l;
for (i=1; i<=n; i++) {
fin>>x>>y;
if (d>=x) {s.insert({-((d-x)/l+1), y}); maxi=max(maxi, (d-x)/+1);}
}
for (i=maxi; i>=1; i--) {
for (auto j:s) {
if (j.first==-i) pq.push({j.second, i});
}
if (!pq.empty()) {sum+=pq.top().first; pq.pop();}
}
fout<<sum;
return 0;
}