Cod sursa(job #436879)

Utilizator minwooMinulescu Alexandru minwoo Data 9 aprilie 2010 00:31:43
Problema Gutui Scor 10
Compilator c Status done
Runda teme_upb Marime 0.97 kb
#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;
}