Pagini recente » Cod sursa (job #2250039) | Cod sursa (job #933771) | Cod sursa (job #2480703) | Cod sursa (job #2960479) | Cod sursa (job #423612)
Cod sursa(job #423612)
#include <stdio.h>
#include <stdlib.h>
#define NMAX 100005
const char *in = "gutui.in";
const char *out = "gutui.out";
long long N;
long long H, U, Gmax;
long long h[NMAX], g[NMAX], ind[NMAX];
int cmp (const void* a, const void *b)
{
return h[*(long long*)b] - h[*(long long*)a];
}
int main (void)
{
freopen (in, "r", stdin);
freopen (out, "w", stdout);
scanf ("%lld%lld%lld", &N, &H, &U);
long long i, j;
for (i = 0; i < N; ++i) {
scanf ("%lld%lld", h+i, g+i);
ind[i] = i;
}
qsort (ind, N, sizeof(long long), cmp);
if (h[ind[0]] <= H) Gmax = g[ind[0]];
j = 1;
for ( i = 1; i < N; ++i)
{
if (h[ind[i]] + j*U <= H)
{
Gmax += g[ind[i]];
j++;
}
else continue;
}
printf ("%lld\n", Gmax );
return 0;
}