Cod sursa(job #1260182)

Utilizator cojocarugabiReality cojocarugabi Data 10 noiembrie 2014 22:55:37
Problema Gutui Scor 100
Compilator cpp Status done
Runda teme_upb Marime 0.69 kb
# include <bits/stdc++.h>
# define x first
# define y second
using namespace std;
const int nmax = 1e5 + 5;
pair < int , int > s[nmax];
priority_queue < int > v;
bool cmp(pair < int , int > a , pair < int , int > b)
{
    return (a.x > b.x);
}
int main(void)
{
    int n,h,u,g=0;
    ifstream fi("gutui.in");
    ofstream fo("gutui.out");
    fi>>n>>h>>u;
    for (int i=1,d;i<=n;++i)
    {
        fi>>d>>s[i].y;
        s[i].x=(h-d)/u;
        g=max(g,s[i].x);
    }
    sort(s+1,s+1+n,cmp);int p=0;
    for (int i=g,j=1;i+1;--i)
    {
        while (j <= n && s[j].x == i) v.push(s[j].y),++j;
        if (v.size()) p+=(v.top()),v.pop();
    }
    return fo<<p<<'\n',0;
}