Pagini recente » Cod sursa (job #656998) | Cod sursa (job #624634) | Cod sursa (job #1078878) | Cod sursa (job #2246416) | Cod sursa (job #441235)
Cod sursa(job #441235)
#include <stdlib.h>
#include <stdio.h>
#define file_in "gutui.in"
#define file_out "gutui.out"
typedef struct fruit_
{
int height;
int weight;
} fruit;
int comp(const void *o1, const void *o2)
{
fruit *a = (fruit *)o1;
fruit *b = (fruit *)o2;
if((*a).height != (*b).height)
return (*b).height - (*a).height;
else
return (*b).weight - (*a).weight;
}
int main()
{
int i, j, N, H, U, sum;
freopen(file_in, "rt", stdin);
freopen(file_out, "wt", stdout);
scanf("%i %i %i", &N, &H, &U);
fruit *fruits = (fruit *)malloc(N*sizeof(fruit));
for(i = 0; i < N; i++)
scanf("%i %i", &fruits[i].height, &fruits[i].weight);
qsort(fruits, N, sizeof(fruit), comp);
j = 0;
sum = 0;
for(i=0;i<N;i++)
{
if(fruits[i].height + (j * U) <= H)
{
sum += fruits[i].weight;
j++;
}
}
printf("%i", sum);
free(fruits);
fclose(stdin);
fclose(stdout);
return 0;
}