Pagini recente » Cod sursa (job #1845446) | Cod sursa (job #2968555) | Cod sursa (job #2352669) | Cod sursa (job #2142553) | Cod sursa (job #1218414)
# include <fstream>
# include <iostream>
# include <algorithm>
# include <vector>
# include <string>
# define nmax 100005
# define pb push_back
# include <queue>
using namespace std;
ifstream fi("lupu.in");
ofstream fo("lupu.out");
vector <int> S[nmax];
priority_queue <int> Max;
int main()
{
long long p,u,x,y,Sum=0,M=0,n;
fi>>n>>p>>u;
for (int i=1;i<=n;++i)
{
fi>>x>>y;
if (p>x) S[(p-x)/u].pb(y),M=max(M,(p-x)/u);
}
for (int i=M;i>=0;--i)
{
for (int j=0;j<S[i].size();++j)
Max.push(S[i][j]);
if (!Max.empty()) Sum+=(Max.top()),Max.pop();
}
fo<<Sum<<"\n";
}