Pagini recente » Cod sursa (job #343666) | Cod sursa (job #538495) | Cod sursa (job #2694332) | Cod sursa (job #2430399) | Cod sursa (job #2861751)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<int> lana;
struct oi
{
int d,lan,m;
bool operator <(const oi &o)
{
return m>o.m;
}
};
oi v[100005];
int main()
{
int n,x,l,a,b,c;
long long int sol=0;
fin>>n>>x>>l;
for(int i=1; i<=n; i++)
{
fin>>a>>b;
c=(x-a)/l;
if(c>=0) v[i]= {a,b,c};
}
sort(v+1,v+n+1);
/*for(int i=1;i<=n;i++)
{
fout<<v[i].d<<' '<<v[i].lan<<' '<<v[i].m<<'\n';
}*/
int moment=-1;
for(int i=1;i<=n;i++)
{
if(moment!=v[i].m && !lana.empty())
{
sol+=lana.top();
lana.pop();
moment=v[i].m;
i--;
}
else
{
lana.push(v[i].lan);
moment=v[i].m;
}
}
sol+=lana.top();
fout<<sol;
return 0;
}