Pagini recente » Cod sursa (job #1671395) | Cod sursa (job #895873) | Cod sursa (job #1065030) | Cod sursa (job #2312030) | Cod sursa (job #3210235)
#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
{
sol+=v[i].p-Q.top();
Q.pop();
Q.push(v[i].p);
}
else if(x>=v[i].t+Q.size()*l)
{
Q.push(v[i].p);
sol+=v[i].p;
}
}
fout<<sol;
}