Pagini recente » Cod sursa (job #147970) | Cod sursa (job #2653864) | Cod sursa (job #1076285) | Cod sursa (job #1394620) | Cod sursa (job #2287074)
#include <bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
vector <pii> v;
//bool cmp(pii a,pii b)
//{
// return a.first > b.first;
//}
int main()
{
int n,x,L,lana = 0;
fin >> n >> x >> L;
for (int i = 0; i< n; i++)
{
int a,b;
fin >> a >> b;
v.push_back({a,b});
}
sort(v.begin(),v.end());
set <int> Q;
int d = (x%L);
int i = 0;
while (v[i].first <= d && i < n)
{
Q.insert({v[i].second});
if (v[i+1].first > d || i == n-1)
{
lana += *Q.rbegin();
//cout << "\n" << d << " " << Q.rbegin()->first << "\n";
while (v[i+1].first > d)
{
lana += *Q.rbegin();
Q.erase(Q.rbegin());
d += L;
}
Q.erase(Q.rbegin());
}
i++;
}
fout << lana;
return 0;
}