Cod sursa(job #1614044)
| Utilizator | Data | 25 februarie 2016 19:36:07 | |
|---|---|---|---|
| Problema | Lupul Urias si Rau | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <bits/stdc++.h>
#define eps 1000000000
using namespace std;
string z = "lupu.";
ifstream f(z+"in");
ofstream g(z+"out");
priority_queue<int> q;
vector<pair<int,int> > v;
long long int n,x,l,i,j,a,b,rasp;
int main()
{
f>>n>>x>>l;x/=l;
for (i=1;i<=n;++i)
{
f>>a>>b;
a=(a+l-1)/l;
v.push_back({a,b});
}
sort(v.begin(),v.end());
for(i=0;i<=x;++i)
{
while(j<v.size() && v[j].first<=i)
{
q.push(v[j].second);
++j;
}
if (q.size())
{
rasp+=q.top();
q.pop();
}
}
g<<rasp;
return 0;
}
