Pagini recente » Cod sursa (job #794871) | Cod sursa (job #322538) | Statistici [email protected] (Medianski) | Cod sursa (job #1844381) | Cod sursa (job #2974592)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
#define nmax 100005
long long n,x,suma,i,lim,y,a,dist,rasp;
pair<long long,long long> v[nmax];
priority_queue<pair<long long,long long> > q;
int main()
{
fin>>n>>x>>dist;
suma=0;
for(long long i=1; i<=n; i++)
{
fin>>a>>y;
v[i].first=a;
v[i].second=y;
if(v[i].first <= x) suma+=v[i].second;
}
if(dist==0)
{
fout<<suma;
return 0;
}
sort(v+1,v+n+1);
lim = x%dist;
i=1;
while(lim<=x)
{
for(; i<=n && v[i].first <=lim; i++)
{
q.push({v[i].second,v[i].first});
}
if(!q.empty())
{
rasp+=q.top().first;
q.pop();
}
lim+=dist;
}
fout<<rasp;
return 0;
}