Cod sursa(job #3210232)

Utilizator danyyyDaniel danyyy Data 5 martie 2024 16:14:20
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 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;
    int 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
     {
         Q.pop();
         Q.push(v[i].p);
     }
     else if(x>=v[i].t+Q.size()*l)Q.push(v[i].p);
 }
 while(Q.empty()==0)
 {
     sol+=Q.top();
     Q.pop();
 }
 fout<<sol;
}