Cod sursa(job #2412347)

Utilizator qThunderStefan Durlanescu qThunder Data 22 aprilie 2019 10:05:55
Problema Lupul Urias si Rau Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
multiset <int> S;
pair <int,int> v[100004];
int n,x,l,d,a,k,s;
int main()
{
    fin>>n>>x>>l;
    for(int i=1;i<=n;i++)
    {
        fin>>d>>a;
        if(d<=x)
        {
            v[++k].first=(x-d)/l+1;
            v[k].second=a;
        }
    }
    sort(v+1,v+k+1);
    for(int i=v[k].first;i>0;i--)
    {
        for(;k>0 && v[k].first==i;k--)
            S.insert(v[k].second);
        if(S.size()!=0)
        {
            s+=*S.rbegin();
            S.erase(--S.end());
        }
    }
    fout<<s;
    return 0;
}