Cod sursa(job #3210235)

Utilizator danyyyDaniel danyyy Data 5 martie 2024 16:20:28
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<long long,vector<long long>,greater<long long>>Q;
struct proc
{
    long long p;
    long long t;
};
proc v[100001];
bool comp(proc a,proc b)
{
    if(a.t<b.t)return 0;
    return 1;
}
int main()
{
    long long n,i,x,l;
    long long sol=0;
    fin>>n>>x>>l;
    for(i=1; i<=n; i++)
        fin>>v[i].t>>v[i].p;
    sort(v,v+n+1,comp);
    for(i=1; i<=n; i++)
    {
        if(x<v[i].t+Q.size()*l && Q.top()<v[i].p)//aici tre size*l
        {
            sol+=v[i].p-Q.top();
            Q.pop();
            Q.push(v[i].p);
        }
        else if(x>=v[i].t+Q.size()*l)
        {
            Q.push(v[i].p);
            sol+=v[i].p;
        }
    }
    fout<<sol;
}