Cod sursa(job #434807)

Utilizator MEmmaMirica Emma MEmma Data 6 aprilie 2010 16:30:00
Problema Gutui Scor 10
Compilator c Status done
Runda teme_upb Marime 1.27 kb
#include <stdio.h>
#include <stdlib.h>

void printVec(int *v, int n)
{
     int i;
     for ( i = 0; i<n; i++)
          printf("%.2d ",v[i]);
     printf("\n");
}

int main()
{
     int N,H,U;
     FILE *f, *g;
     f = fopen("gutui.in","r");
     g = fopen("gutui.out","w");
     fscanf(f,"%d%d%d",&N,&H,&U);
     int h[N],w[N];
     int i,j;
     for ( i = 0; i<N; i++)
          fscanf(f,"%d %d\n",&h[i],&w[i]);
     for ( i = 0 ; i < N-1; i++)
          for ( j = i+1; j< N; j++)
               if (h[i] < h[j]){
                    int aux = h[i];
                    h[i] = h[j];
                    h[j] = aux;
                    aux = w[i];
                    w[i] = w[j];
                    w[j] = aux;
                }
      for ( i = 0; i<N-1; i++)
          for ( j = i+1; j<N; j++)
               if (h[i]==h[j] && w[i]<w[j]){
                    int aux = w[i];
                    w[i] = w[j];
                    w[j] = aux;
               }
      printVec(h,N);
      printf("\n");
      printVec(w,N);
      int Gmax = 0;
      for ( i = 0; i<N; i++)
          if (h[i]<=H){
               Gmax+=w[i];
               for (j = i;j<N; j++)
                    h[j]+=U;
          }
      printVec(h,N);
      fprintf(g,"%d\n",Gmax);
      fclose(f);
      fclose(g);
      return 0;
}