Pagini recente » Cod sursa (job #659329) | Cod sursa (job #1840386) | Cod sursa (job #2076462) | Cod sursa (job #2184079) | Cod sursa (job #963586)
Cod sursa(job #963586)
#include <fstream>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("lupu.in"); ofstream g("lupu.out");
int n, x, l, d, q;
vector<pair<int, int> > v;
set<int> s;
int main()
{
long long sol = 0;
f >> n >> x >> l;
for(int i = 1; i <= n; ++i)
{
s.insert(-i);
f >> d >> q;
v.push_back(make_pair(-q, d));
}
sort(v.begin(), v.end());
set<int> :: iterator it;
for(int i = 0; i < n; ++i)
{
int t = (x - v[i].second) / l + 1;
it = s.lower_bound(-t);
if(it != s.end())
{
sol -= v[i].first;
s.erase(it);
}
}
g << sol << '\n';
g.close();
return 0;
}