Pagini recente » Cod sursa (job #1031276) | Cod sursa (job #2667487) | Cod sursa (job #561291) | Cod sursa (job #1519730) | Cod sursa (job #2795965)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie {
long long dist, lana;
}v[100005];
long long n,x,l;
long long ans;
priority_queue <long long> heap;
bool cmp(oaie a, oaie b)
{
return a.dist < b.dist;
}
void citire()
{
fin>>n>>x>>l;
for(long long i=1; i<=n; i++)
{
fin>>v[i].dist>>v[i].lana;
}
}
void solve()
{
sort(v+1, v+n+2, cmp);
long long j=1;
for(int i=0; i<=x; i=i+l)
{
while(j <= n && v[j].dist <= i)
{
heap.push(v[j].lana);
j++;
}
if(!heap.empty())
{
ans=ans+heap.top();
heap.pop();
}
}
fout<<ans;
}
int main()
{
citire();
solve();
return 0;
}