Cod sursa(job #1320324)
Utilizator | Data | 17 ianuarie 2015 20:41:00 | |
---|---|---|---|
Problema | Lupul Urias si Rau | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Teme Pregatire ACM Unibuc 2014, Anul I | Marime | 0.57 kb |
#include<fstream>
#include<queue>
#include<algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
priority_queue<int> q;
pair<int,int>a[100005];
int n,x,l,i,lim=1;
long long int suma;
int main()
{
f>>n>>x>>l;
for(i=1;i<=n;i++)
f>>a[i].first>>a[i].second;
sort(a+1,a+n+1);
for(i=x%l;i<=x;i+=l){
while(lim<=n&&a[lim].first<=i){
q.push(a[lim].second);
lim++;
}
if(!q.empty()){
suma+=q.top();
q.pop();
}
}
g<<suma;
}