Cod sursa(job #2286673)
Utilizator | Data | 20 noiembrie 2018 17:13:54 | |
---|---|---|---|
Problema | Lupul Urias si Rau | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include<queue>
#include<algorithm>
using namespace std;
struct oi
{
int d,p;
};
int n,x,l;
oi v[100000];
priority_queue<int> m_oi;
ifstream f("lupu.in");
ofstream g("lupu.out");
bool cmp(oi a,oi b)
{
return a.d<b.d;
}
int main()
{
f>>n>>x>>l;
for(int i=0;i<n;++i) f>>v[i].d>>v[i].p;
sort(v,v+n,cmp);
int i=0,pr=0;
for(int dist=x%l;dist<=x;dist+=l)
{
while(v[i].d<=dist && i<n) m_oi.push(v[i++].p);
if(m_oi.empty()) continue;
pr+=m_oi.top();
m_oi.pop();
}
g<<pr<<'\n';
return 0;
}