Cod sursa(job #2292455)

Utilizator Andrei243Nitu Mandel Andrei Andrei243 Data 29 noiembrie 2018 16:26:03
Problema Lupul Urias si Rau Scor 44
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<fstream>
#include<vector>
#include<queue>
using namespace std;

struct oaie
{
    int distanta,lana;
    oaie(int _dis=0,int _lan=0)
    {
        distanta=_dis;
        lana=_lan;
    }

};

int main()
{
    ifstream in("lupu.in");
    ofstream out("lupu.out");
    int N,X,L;
    in>>N>>X>>L;

    vector<oaie> oi;
    for(int i=0; i<N; i++)
    {
        int aux1,aux2;
        in>>aux1>>aux2;
        oi.push_back(oaie(aux1,aux2));

    }
    priority_queue<int> selectate;
    int suma=0;
    int nr_iter=X/L;
    for(int i=0; i<=nr_iter; i++)
    {
        for(int it=oi.size()-1; it>=0; it--)
        {
            if(oi[it].distanta<=X%L+i*L&&oi[it].distanta>X%L+(i-1)*L)
            {
                selectate.push(oi[it].lana);
            }
        }

        if(!selectate.empty())
        {
            suma+=selectate.top();
            selectate.pop();
        }
    }
    out<<suma;
    in.close();
    out.close();
    return 0;
}