Cod sursa(job #1870919)

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

using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
priority_queue <int> H;
struct gachi{int x,y;} muchi[100004];
bool cmp (gachi a, gachi b)
{
    return (a.x>b.x);
}
int main()
{int 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;
}