Cod sursa(job #2287131)

Utilizator biaiftimeIftime Bianca biaiftime Data 21 noiembrie 2018 15:43:09
Problema Lupul Urias si Rau Scor 32
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <set>
#include <vector>
#include <algorithm>

using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n,x,l;
vector< pair <int, int> >oi;
multiset < int > al;
void Read()
{
    int i,a,b;
    fin>>n>>x>>l;
    oi.push_back(make_pair(0,0));
    for(i=1;i<=n;i++)
    {
        fin>>a>>b;
        oi.push_back(make_pair(a,b));
    }
    sort(oi.begin(),oi.end());
}
int Solve()
{

    int sum=0;
    int k=x/l,i=1,j=0;
    while(oi[i].first==0)al.insert(oi[i++].second);
    sum+=*al.rbegin();
    al.erase(al.find(*al.rbegin()));
    while(k>0)
    {
        while(oi[i].first/l==j) al.insert(oi[i++].second);
        sum+=*al.rbegin();
        al.erase(al.find(*al.rbegin()));
        k--;
        j++;
    }
    return sum;
}
int main()
{
    Read();
    fout<<Solve();
    return 0;
}