Cod sursa(job #1405614)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 29 martie 2015 14:21:25
Problema Lupul Urias si Rau Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#define DIM 100011
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
int n,X,L,sol;

vector<pair<int,int> > v;

priority_queue<int,vector<int> > h;

int main(void){
    register int i,j,x,y,t=0;

    f>>n>>X>>L;
    v.push_back(make_pair(0,0));
    for(i=1;i<=n;i++){
        f>>x>>y;
        if(x>X)
            continue;
        v.push_back(make_pair((X-x)/L+1,y));
        t=max(t,v[i].first);
    }
    sort(v.begin(),v.end());

    i=n;
    for(;t;t--){
        while(i && v[i].first>=t)
            h.push(v[i].second),i--;
        sol+=h.top();
        while(!h.empty())
            h.pop();
    }

    g<<sol;
    f.close();
    g.close();
    return 0;
}