Cod sursa(job #1870931)

Utilizator gbibBacotiu Gabi gbib Data 6 februarie 2017 23:43:15
Problema Lupul Urias si Rau Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
priority_queue <long long> H;
struct gachi{long long x,y;} muchi[100004];
bool cmp (gachi a, gachi b)
{
    return (a.x>b.x);
}
int main()
{long long n,i,a,b,t,l,k,s=0,mx=0;
in>>n>>t>>l;
for(i=1;i<=n;i++)
{
    in>>a>>b;
    muchi[i].x=(t-a)/l+1;
    muchi[i].y=b;
    mx=max(mx,muchi[i].x);
}
sort(muchi+1,muchi+n+1,cmp);
i=1;
while(mx>0)
{
    while(mx==muchi[i].x)
    {
        H.push(muchi[i].y);
        i++;
    }
    if(!H.empty())
    {
        s+=H.top();
        H.pop();
    }
    mx--;
}
out<<s<<'\n';
    return 0;
}