Pagini recente » Cod sursa (job #1345837) | Cod sursa (job #1370232) | Cod sursa (job #304291) | Cod sursa (job #1745919) | Cod sursa (job #2594614)
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
vector<long long> timp[100005];
priority_queue<long long> pq;
int main()
{
long long n,x,l,maxx=0;
cin>>n>>x>>l;
for(long long i=1;i<=n;++i)
{
long long d,a;
cin>>d>>a;
if(x-d<0) continue;
timp[(x-d)/l+1].push_back(a);
maxx=max(maxx,(x-d)/l+1);
}
long long lana=0;
for(long long i=maxx;i>=1;--i)
{
for(long long 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;
}