Pagini recente » Cod sursa (job #1860588) | Cod sursa (job #2558435) | Cod sursa (job #2318752) | Cod sursa (job #69924) | Cod sursa (job #2053761)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
ifstream si("lupu.in");
ofstream so("lupu.out");
vector<pair<int,int> > v;
priority_queue<int>h;
int main()
{
int n,x,l;
si>>n>>x>>l;
int a,b;
for(int i=1;i<=n;++i)
{
si>>a>>b;
if(a<=x)
v.push_back({(x-a)/l,b});
}
sort(v.rbegin(),v.rend());
long long ans=0LL;
int ind=0;
for(int i=n;i>=0;--i)
{
while(ind<n&&v[ind].first==i)
{
h.push(v[ind].second);
++ind;
}
if(!h.empty())
{
ans+=h.top();
h.pop();
}
}
so<<ans;
return 0;
}