Pagini recente » Borderou de evaluare (job #1490956) | Borderou de evaluare (job #1487258) | Borderou de evaluare (job #1467145) | Borderou de evaluare (job #1391487) | Cod sursa (job #2412347)
#include <fstream>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
multiset <int> S;
pair <int,int> v[100004];
int n,x,l,d,a,k,s;
int main()
{
fin>>n>>x>>l;
for(int i=1;i<=n;i++)
{
fin>>d>>a;
if(d<=x)
{
v[++k].first=(x-d)/l+1;
v[k].second=a;
}
}
sort(v+1,v+k+1);
for(int i=v[k].first;i>0;i--)
{
for(;k>0 && v[k].first==i;k--)
S.insert(v[k].second);
if(S.size()!=0)
{
s+=*S.rbegin();
S.erase(--S.end());
}
}
fout<<s;
return 0;
}