Cod sursa(job #2861725)

Utilizator tudor_costinCostin Tudor tudor_costin Data 4 martie 2022 12:43:07
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<int> lana;
struct oi
{
    int d,lan,m;
    operator <(const oi o)
    {
        return m>o.m;
    }
};
oi v[100005];
int main()
{
    int n,x,l,a,b,c,sol=0;
    fin>>n>>x>>l;
    for(int i=1; i<=n; i++)
    {
        fin>>a>>b;
        c=(x-a)/l;
        v[i]= {a,b,c};
    }
    sort(v+1,v+n+1);
    int moment=-1;
    lana.push(v[1].lan);
    for(int i=1;i<=n;i++)
    {
        if(moment!=v[i].m && !lana.empty())
        {
            sol+=lana.top();
            lana.pop();
            moment=v[i].m;
        }
        else
        {
           lana.push(v[i].lan);
        }
    }
    sol+=lana.top();
    fout<<sol;
    return 0;
}