Pagini recente » Cod sursa (job #1328830) | Cod sursa (job #887712) | Cod sursa (job #2329032) | Cod sursa (job #582538) | Cod sursa (job #2913620)
#include <fstream>
#include <algorithm>
#include <vector>
#include <set>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n,x,l,d,a,i,j;
long long sol;
vector<pair<int,int>> v;
multiset<int> s;
multiset<int>::iterator it;
int main() {
fin>>n>>x>>l;
for (i=1;i<=n;i++) {
fin>>d>>a;
v.push_back({(x-d)/l,a});
}
sort(v.begin(),v.end());
j=v.size()-1;
for (i=v[j].first;i>=0;i--) {
while (j>=0 && v[j].first>=i) {
s.insert(v[j].second);
j--;
}
if (!s.empty()) {
it=s.end();
it--;
sol+=*it;
s.erase(it);
}
}
fout<<sol;
return 0;
}