Cod sursa(job #2724767)

Utilizator Amelia_MilcuMilcu Amelia Amelia_Milcu Data 17 martie 2021 19:45:20
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct elem
{
    int strat,l;
}a[100001];
priority_queue<int> v;
int n,x,L,k,d,nro;
long long sol;
bool cmp(elem a, elem b)
{
   return a.strat>b.strat;
}
int main()
{
    fin>>n>>x>>L;
    for(int i=1;i<=n;i++)
    {
        fin>>d>>a[i].l;
        a[i].strat=(x-d)/L+1;
    }
    sort(a+1,a+n+1,cmp);
    k=x/L+1;
    nro=1;
    for(int i=k;i>=1;i--)
    {
        while(nro<=n && a[nro].strat==i)
        {
            v.push(a[nro].l);
            nro++;
        }
        if(!v.empty())
            sol+=v.top(),v.pop();
    }
    fout<<sol;
    return 0;
}