Pagini recente » Cod sursa (job #1000221) | Cod sursa (job #1398956) | Cod sursa (job #826496) | Cod sursa (job #1957293) | Cod sursa (job #1505711)
#include<fstream>
#include<queue>
#include<algorithm>
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
int n,x,k;
priority_queue <int> H;
pair <int, int> A[100010];
int main()
{
int i;
long long sol = 0;
in>>n>>x>>k;
for(i=1;i<=n;i++)
in>>A[i].first>>A[i].second;
sort(A+1, A+1+n);
for(int d=0,i=1; d<=x; d+=k)
{
while(i<=n && A[i].first<=d)
H.push(A[i++].second);
if(!H.empty())
{
sol += H.top();
H.pop();
}
}
out<<sol<<'\n';
out.close();
return 0;
}