Pagini recente » Cod sursa (job #61016) | Cod sursa (job #2776266) | Cod sursa (job #657222) | Cod sursa (job #2989607) | Cod sursa (job #2311513)
#include <fstream>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
struct oaie
{
long long int lana;
long long int poz;
};
bool cmp(oaie a,oaie b)
{
if(a.poz<b.poz)
return true;
return false;
}
vector <oaie> oi;
priority_queue <long long int> prinse;
int main()
{
long long int n,x,l;
f>>n>>x>>l;
oi.resize(n);
for(long long int i=0; i<n; ++i)
{
f>>oi[i].poz>>oi[i].lana;
}
sort(oi.begin(),oi.end(),cmp);
long long int nr_alegeri=x%l, s=0, i=0;
while(nr_alegeri<=x)
{
for(;i<n && oi[i].poz<=nr_alegeri; ++i)
prinse.push(oi[i].lana);
if(!prinse.empty())
{
s+=prinse.top();
prinse.pop();
}
nr_alegeri+=l;
}
g<<s;
return 0;
}