Pagini recente » Istoria paginii runda/conc1/clasament | Cod sursa (job #488429) | Cod sursa (job #355824) | catalin_2x | Cod sursa (job #2828158)
#include <bits/stdc++.h>
using namespace std;
const int Nmax = 100005;
priority_queue<int> q;
pair<int,int>oi[Nmax];
int main()
{
ifstream cin("lupu.in");
ofstream cout("lupu.out");
int n,x,l;
long long sol=0;
cin>>n>>x>>l;
for(int i=1;i<=n;i++)
{
int dist;
cin>>dist>>oi[i].second;
oi[i].first=(x-dist)/l;
}
sort(oi+1,oi+n+1);
int p=n,t=oi[n].first;
while(t>1)
{
while(p>0&&oi[p].first>=t)
{
q.push(oi[p].second);
p--;
}
if(!q.empty())
{
sol+=q.top();
q.pop();
}
t--;
}
cout<<sol;
return 0;
}