Pagini recente » Cod sursa (job #1772627) | Cod sursa (job #1702588) | Cod sursa (job #55637) | Cod sursa (job #1493848) | Cod sursa (job #3210232)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<long long,vector<long long>,greater<long long>>Q;
struct proc
{
long long p;
int t;
};
proc v[100001];
bool comp(proc a,proc b)
{
if(a.t<b.t)return 0;
return 1;
}
int main()
{
long long n,i,x,l;
long long sol=0;
fin>>n>>x>>l;
for(i=1;i<=n;i++)
fin>>v[i].t>>v[i].p;
sort(v,v+n+1,comp);
for(i=1;i<=n;i++)
{
if(x<v[i].t+Q.size()*l && Q.top()<v[i].p)//aici tre size*l
{
Q.pop();
Q.push(v[i].p);
}
else if(x>=v[i].t+Q.size()*l)Q.push(v[i].p);
}
while(Q.empty()==0)
{
sol+=Q.top();
Q.pop();
}
fout<<sol;
}