Pagini recente » Cod sursa (job #2467467) | Cod sursa (job #2708950) | Cod sursa (job #3138765) | Cod sursa (job #1959010) | Cod sursa (job #1218413)
# 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()
{
int 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";
}