Cod sursa(job #1853562)

Utilizator Bodo171Bogdan Pop Bodo171 Data 21 ianuarie 2017 21:06:55
Problema Lupul Urias si Rau Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
const int nmax=100005;
vector<int> v[nmax];
priority_queue<int> pq;
int n,x,l,d,a,i,j,pasi;
long long tot;
int main()
{
    ifstream f("lupu.in");
    ofstream g("lupu.out");
    f>>n>>x>>l;
    for(i=1;i<=n;i++)
    {
        f>>d>>a;
        pasi=(x-d)/l+1;
        if(x-d<0) continue;
        if(n<pasi) pasi=n;
        v[pasi].push_back(a);
    }
    for(i=n;i>=1;i--)
    {
        for(j=0;j<v[i].size();j++)
            pq.push(v[i][j]);
        if(!pq.empty())
        {
            tot+=1LL*pq.top();
            pq.pop();
        }
    }
    g<<tot;
    return 0;
}