Pagini recente » Cod sursa (job #881308) | Cod sursa (job #2987446) | Cod sursa (job #60708) | Cod sursa (job #2440877) | Cod sursa (job #2463925)
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
priority_queue <long long> Q;
struct xyz
{
long long t,d;
};
xyz v[100005];
long long n,x,l,k,i,r,y;
bool cmp(xyz x, xyz y)
{
return x.d>y.d;
}
int main()
{
f>>n>>x>>l;
for(i=1;i<=n;i++){
f>>y>>v[i].t;
if(x>y)
v[i].d=(x-y)/l+1;
}
sort(v+1,v+n+1,cmp);
i=1;
for(k=v[1].d;k && i<=n;--k)
{
while(v[i].d==k && i<=n)
{
Q.push(v[i].t);
i++;
}
if(!Q.empty())
{
r+=Q.top();
Q.pop();
}
else
k=v[i].d+1;
}
g<<r<<'\n';
return 0;
}