Cod sursa(job #87059)

Utilizator DastasIonescu Vlad Dastas Data 26 septembrie 2007 14:56:32
Problema Lupul Urias si Rau Scor 8
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <algorithm>

const int maxn = 100001;

FILE *in = fopen("lupu.in","r"), *out = fopen("lupu.out","w");

struct oaie
{
    int D, A;
};

int n, x, l;
oaie a[maxn];
//int T[maxn]; // timpul maxim la care oaia i poate fi aleasa

bool operator<(const oaie &x, const oaie &y)
{
    return x.A > y.A;
}

void read()
{
    fscanf(in, "%d %d %d", &n, &x, &l);

    for ( int i = 1; i <= n; ++i )
        fscanf(in, "%d %d", &a[i].D, &a[i].A);
}

int main()
{
    read();
    std::sort(a+1, a+1+n);

    int answ = 0;
    int p = 0;
//    for ( int i = 1; i <= n; ++i )
//        printf("%d %d\n", a[i].D, a[i].A);

    for ( int i = 1; i <= n; ++i )
    {
        while ( a[i].D + p > x && i <= n )
            ++i;
        answ += a[i].A;
        p += l;
    }

    fprintf(out, "%d\n", answ);

	return 0;
}