Pagini recente » Cod sursa (job #1968958) | Cod sursa (job #2217302) | Cod sursa (job #798698) | Cod sursa (job #919629) | Cod sursa (job #2960284)
#include <bits/stdc++.h>
#define FOR(NUM) for(int i = 1; i <= n; ++ i)
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct compare
{
int val;
bool operator < (const compare &num) const
{
return val < num.val;
}
};
priority_queue<compare>pq;
int n, distanta, sigma;
vector<pair<int,int>>v;
inline void solve()
{
sort(v.begin(), v.end());
int i = v.size()-1, ans = 0;
for(int t = v[v.size()-1].first; t >= 1; t--)
{
while(v[i].first >= t && i >= 0)
pq.push({v[i].second}), i--;
ans += pq.top().val;
pq.pop();
}
fout << ans;
}
int main()
{
fin >> n >> distanta >> sigma;
FOR(n)
{
int x, y;
fin >> x >> y;
v.push_back({((distanta - x) / sigma) + 1, y});
}
solve();
}