Cod sursa(job #446941)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 26 aprilie 2010 21:52:55
Problema Lupul Urias si Rau Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
#include<algorithm>
#include<queue>
using namespace std;

#define ll long long

priority_queue<int> heap;

struct oaie
{
    int x,y;
};
oaie v[100006];
ll s=0;
int d,l,n;

int cmp(oaie a,oaie b)
{
    return (a.x<b.x);
}

int main ()
{
    int i,lim,val;
    freopen("lupu.in","r",stdin);
    freopen("lupu.out","w",stdout);
    scanf("%d%d%d",&n,&d,&l);
    for(i=1;i<=n;i++)
        scanf("%d%d",&v[i].x,&v[i].y);
    sort(v+1,v+n+1,cmp);
    i=1;
    for(lim=0;lim<=d && i<=n;lim+=l)
    {
        for(i=i;i<=n && v[i].x<=lim;i++)
            heap.push(v[i].y);
        val=heap.top();
        s+=val;
        heap.pop();
    }
    printf("%lld\n",s);
    return 0;
}