Pagini recente » Cod sursa (job #155773) | Cod sursa (job #1943112) | Cod sursa (job #2342744) | Cod sursa (job #2558253) | Cod sursa (job #2463920)
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
priority_queue <int> Q;
struct xyz
{
int t,d;
};
xyz v[100005];
int 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;
}