Cod sursa(job #2287713)

Utilizator gundorfMoldovan George gundorf Data 22 noiembrie 2018 13:11:43
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <iostream>
#include <fstream>
#include <utility>
#include <queue>
#include <vector>
#define Nmax 100005
#include <algorithm>
using namespace std;
ifstream fin ("lupu.in");
ofstream fout("lupu.out");
int n,x,l;
/*class pereche
{
public :
    int lana,prioritate;
    pereche (int pr=0,int ln=0)
    {
        lana=ln;
        prioritate=pr;
    }

    pereche (const pereche & aux)
    {
        lana=aux.lana;
        prioritate =aux.prioritate;
    }

    bool operator < (const pereche & aux) const
    {
        return (lana <aux.lana);
    }
};

priority_queue<pereche> oi;
*/
int main()
{int i;
int response =0;

    fin>>n>>x>>l;
    vector <pair<int,int>> date;
    for (i=1;i<=n;i++)
    {   pair<int,int>aux;
        fin>>aux.first>>aux.second;
        if (aux.first<=x)
        {aux.first=(x-aux.first)/2; //cate ture poate sta oaia in raza de actiune a lupului.
        //in date[i].second se retine lana
        date.push_back(aux);
        }
    }
    sort (date.begin(),date.end());//le sortez dupa prioritate

    //for (pair<int,int> aux:date)
       // fout<<aux.first<<" "<<aux.second<<"\n";
    int dim=date.size();
    int cnt=0;
    for (i=0;i<=date[dim-1].first;i++)
    { int max_ln=0;
        while (date[cnt].first==i){
            if (date[cnt].second>max_ln) max_ln=date[cnt].second;
            cnt++;
        }
        response+=max_ln;
    }
    fout<<response;
    return 0;
}