Pagini recente » Cod sursa (job #2938924) | Cod sursa (job #1477733) | Cod sursa (job #425855) | Cod sursa (job #1361054) | Cod sursa (job #2920399)
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
long long int n,i,x,l,sol,p,t,d;
priority_queue<int>q;
struct Oaie
{
int lana,timp;
bool operator<(const Oaie &o)
{
return timp<o.timp;
}
}oi[100001];
int main()
{
f>>n>>x>>l;
for(i=1;i<=n;i++)
{
f>>d>>oi[i].lana;
oi[i].timp=(x-d)/l;
}
sort(oi+1,oi+n+1);
p=n;
t=oi[n].timp;
while(t>=0)
{
while(p>0&&oi[p].timp>=t)
{
q.push(oi[p].lana);
p--;
}
if(!q.empty())
{
sol+=q.top();
q.pop();
}
t--;
}
g<<sol;
return 0;
}