Pagini recente » Cod sursa (job #1603793) | Cod sursa (job #2121661) | Cod sursa (job #315908) | Cod sursa (job #1595132) | Cod sursa (job #1843689)
# include <fstream>
# include <algorithm>
# include <set>
# define DIM 100010
# define INF -(1<<31)
# define f first
# define s second
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
multiset<int> heap;
multiset<int>::iterator it;
pair<int,int> v[DIM];
int n,x,l,i;
long long s,t,q;
int main () {
heap.insert(INF);
fin>>n>>x>>l;
for(i=1;i<=n;i++)
fin>>v[i].f>>v[i].s;
sort(v+1,v+n+1);
while(v[1].f+t+l<=x)
t+=l;
for(i=1;i<=n;i++)
v[i].f+=t;
i=1;
while(t>=0){
while(v[i].f-q<=x&&i<=n){
heap.insert(-v[i].s);
i++;
}
it=heap.begin();
it++;
if(it!=heap.end()){
s+=-(*it);
heap.erase(it);
}
q+=l;
t-=l;
}
fout<<s<<"\n";
return 0;
}