Pagini recente » Cod sursa (job #331087) | Cod sursa (job #2863945) | Cod sursa (job #2003027) | Cod sursa (job #523325) | Cod sursa (job #2600568)
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
vector<int> timp[100005];
priority_queue<int> pq;
int main()
{
int n,x,l,maxx=0;
cin>>n>>x>>l;
for(int i=1;i<=n;++i)
{
int d,a;
cin>>d>>a;
timp[(x-d)/l+1].push_back(a);
maxx=max(maxx,(x-d)/l+1);
}
int lana=0;
for(int i=maxx;i>=1;--i)
{
for(int j=0;j<timp[i].size();++j)
pq.push(timp[i][j]);
if(pq.empty()) continue;
lana+=pq.top();
pq.pop();
}
cout<<lana;
return 0;
}