Pagini recente » Cod sursa (job #3254389) | Cod sursa (job #627364) | Cod sursa (job #1975016) | Cod sursa (job #719115) | Cod sursa (job #3210233)
#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;
long long 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;
}