Cod sursa(job #2311513)

Utilizator diaconudanielaDiaconu Daniela diaconudaniela Data 3 ianuarie 2019 12:52:49
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");

struct oaie
{
    long long int lana;
    long long int poz;
};

bool cmp(oaie a,oaie b)
{
    if(a.poz<b.poz)
        return true;
    return false;
}

vector <oaie> oi;

priority_queue <long long int> prinse;

int main()
{
    long long int n,x,l;
    f>>n>>x>>l;
    oi.resize(n);

    for(long long int i=0; i<n; ++i)
    {
        f>>oi[i].poz>>oi[i].lana;
    }

    sort(oi.begin(),oi.end(),cmp);

    long long int nr_alegeri=x%l, s=0, i=0;

    while(nr_alegeri<=x)
    {
        for(;i<n && oi[i].poz<=nr_alegeri; ++i)
            prinse.push(oi[i].lana);

        if(!prinse.empty())
        {
            s+=prinse.top();
            prinse.pop();
        }

        nr_alegeri+=l;
    }

    g<<s;
    return 0;
}