Pagini recente » Cod sursa (job #2338766) | Cod sursa (job #1177005) | Cod sursa (job #2258228) | Rating Alexandru (Arkk) | Cod sursa (job #436879)
Cod sursa(job #436879)
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
typedef struct {
unsigned long int h,g;
} gutui;
int main(int argc, char *argv[])
{
unsigned long int n, hmax, u, deltah = 0, i, j, sum=0;
FILE* f = fopen("gutui.in", "r");
fscanf(f,"%lu", &n);
fscanf(f,"%lu", &hmax);
fscanf(f,"%lu", &u);
gutui a[100000], candidat, aux;
for (i=1;i<=n;i++)
fscanf(f,"%lu %lu", &a[i].h, &a[i].g);
for (i=1; i <= n; i++)
{
int j;
gutui v = a[i];
for (j = i - 1; j >= 1; j--)
{
if (a[j].h < v.h) break;
if (a[j].h == v.h) if (a[j].g<v.g) break;
a[j + 1] = a[j];
}
a[j + 1] = v;
}
for (i=n;i>0;i--) {
if (a[i].h<=hmax){
sum+=a[i].g;
hmax-=u;
}
}
FILE* g=fopen("gutui.out", "w");
fprintf(g,"%lu",sum);
fclose(f);
fclose(g);
return 0;
}