Pagini recente » Cod sursa (job #359348) | Cod sursa (job #1467263) | Cod sursa (job #2391674) | Cod sursa (job #2999544) | Cod sursa (job #2463864)
#include <bits/stdc++.h>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
struct icsde
{
int d,val;
} v[100005];
inline static bool cmp(icsde a, icsde b)
{
return a.d>b.d;
}
priority_queue<int> Q;
long long n,x,l,i,k,ans;
int main()
{
f>>n>>x>>l;
for(i=1; i<=n; ++i)
{
f>>v[i].d>>v[i].val;
v[i].d=((v[i].d>x) ? 0 : ((x-v[i].d)/l)+1);
}
sort(v+1,v+n+1,cmp);
for(k=v[1].d, i=1; k && i<=n;--k)
{
while(v[i].d==k && i<=n)
{
Q.push(v[i++].val);
}
if(!Q.empty())ans+=Q.top(),Q.pop();
else k=v[i].d+1;
}
g<<ans<<'\n';
return 0;
}