Cod sursa(job #2920399)

Utilizator ANDRAGABRIELACirstoiu Andra-Gabriela ANDRAGABRIELA Data 23 august 2022 23:25:22
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <queue>
#include <algorithm>

using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
long long int n,i,x,l,sol,p,t,d;
priority_queue<int>q;
struct Oaie
{
    int lana,timp;
    bool operator<(const Oaie &o)
    {
        return timp<o.timp;
    }
}oi[100001];
int main()
{
    f>>n>>x>>l;
    for(i=1;i<=n;i++)
    {
        f>>d>>oi[i].lana;
        oi[i].timp=(x-d)/l;
    }
    sort(oi+1,oi+n+1);
    p=n;
    t=oi[n].timp;
    while(t>=0)
    {
        while(p>0&&oi[p].timp>=t)
        {
            q.push(oi[p].lana);
            p--;
        }
        if(!q.empty())
        {
            sol+=q.top();
            q.pop();
        }
        t--;
    }
    g<<sol;
    return 0;
}