Pagini recente » Cod sursa (job #566204) | Cod sursa (job #2781674) | Cod sursa (job #1127754) | Cod sursa (job #178624) | Cod sursa (job #2268765)
#include <bits/stdc++.h>
#define maxn 100000
using namespace std;
struct oaie
{
int dst, cnt;
};
oaie v[maxn+5];
priority_queue <int> hp;
bool cmp ( oaie a, oaie b )
{
if ( a.dst != b.dst )
return a.dst > b.dst;
return a.cnt > b.cnt;
}
int main ()
{
ifstream fin ( "lupu.in" );
ofstream fout ( "lupu.out" );
int n, x, l;
fin >> n >> x >> l;
int i;
for ( i = 0; i < n; i++ )
{
fin >> v[i].dst >> v[i].cnt;
v[i].dst = ( x - v[i].dst ) / l;
}
sort ( v, v + n, cmp );
long long ans = 0LL;
int j = 0;
for ( i = v[0].dst; i >= 0; i-- )
{
while ( j < n && v[j].dst == i )
{
hp.push ( v[j].cnt );
j++;
}
if ( !hp.empty () )
{
ans += 1LL * hp.top ();
hp.pop ();
}
}
fout << ans;
fin.close ();
fout.close ();
return 0;
}