Cod sursa(job #2600568)
Utilizator | Data | 12 aprilie 2020 20:50:38 | |
---|---|---|---|
Problema | Lupul Urias si Rau | Scor | 72 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
vector<int> timp[100005];
priority_queue<int> pq;
int main()
{
int n,x,l,maxx=0;
cin>>n>>x>>l;
for(int i=1;i<=n;++i)
{
int d,a;
cin>>d>>a;
timp[(x-d)/l+1].push_back(a);
maxx=max(maxx,(x-d)/l+1);
}
int lana=0;
for(int i=maxx;i>=1;--i)
{
for(int j=0;j<timp[i].size();++j)
pq.push(timp[i][j]);
if(pq.empty()) continue;
lana+=pq.top();
pq.pop();
}
cout<<lana;
return 0;
}