Cod sursa(job #1974349)

Utilizator GeorginskyGeorge Georginsky Data 27 aprilie 2017 13:40:26
Problema Lupul Urias si Rau Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
#define f first
#define s second
const int N=1e5+5;
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
int n, d, l;
pair<int,int> v[N];
priority_queue<int> pq;
int main(){
    long long ans=0;
    in>>n>>d>>l;
    for(int i=1; i<=n; i++)in>>v[i].f>>v[i].s;
    sort(v+1, v+n+1);
    int gr=0, i=1;
    while(i<=n&&v[i].f<=d){
        while(i<=n&&v[i].f<=l*gr)pq.push(v[i].s),i++;
        if(!pq.empty())ans+=pq.top(),pq.pop();
        gr++;
    }
    out<<ans;
    return 0;
}