Pagini recente » Cod sursa (job #2190120) | Cod sursa (job #2889344) | Cod sursa (job #1783404) | Rating Vanca Paul Alexandru (AlexVanca) | Cod sursa (job #967608)
Cod sursa(job #967608)
#include<fstream>
#include<algorithm>
#include<queue>
#define NMAX 100005
#define dist v[i].first
#define profit v[i].second
#define PI pair<int,int>
using namespace std;
int n,x,l;
long long sol;
PI v[NMAX];
priority_queue<int> HEAP;
inline bool cmp(const PI &a,const PI &b)
{
if(a.first==b.first)
return a.second>b.second;
return a.first>b.first;
}
void read()
{
ifstream fin("lupu.in");
fin>>n>>x>>l;
for(int i=0,a;i<n;i++)
{
fin>>a>>profit;
dist=(x-a)/l+1;
}
fin.close();
}
void print()
{
ofstream fout("lupu.out");
fout<<sol<<'\n';
fout.close();
}
void solve()
{
sort(v,v+n,cmp);
for(int i=0,j=v[0].first;j;j--)
{
for(;i<n && j==dist;i++)
HEAP.push(profit);
if(!HEAP.empty())
{
sol+=HEAP.top();
HEAP.pop();
}
}
}
int main()
{
read();
solve();
print();
return 0;
}