Mai intai trebuie sa te autentifici.
Cod sursa(job #3210233)
| Utilizator | Data | 5 martie 2024 16:16:58 | |
|---|---|---|---|
| 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;
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
{
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;
}
