Pagini recente » Cod sursa (job #905034) | Cod sursa (job #2172657) | Cod sursa (job #1949502) | Cod sursa (job #266660) | Cod sursa (job #1582153)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
fstream fin("lupu.in",ios::in),fout("lupu.out",ios::out);
vector<pair<int,int> > v;
multiset<int> heap;
multiset<int> :: iterator it;
int main()
{
long long i,n,x,l,a,b,bara,s=0;
fin>>n>>x>>l;
bara=(x+1)%l;
for(i=0;i<n;i++) fin>>a>>b,v.push_back(make_pair(a,b));
sort(v.begin(),v.end());
for(i=0;i<n; )
{
while(i<n && v[i].first<bara)
{
heap.insert(v[i].second);
i++;
}
if(!heap.empty())
{
it=heap.end();it--;
s+=*it;
heap.erase(it);
}
bara+=l;
}
fout<<s;
}