Cod sursa(job #29531)

Utilizator radamiRadu Patulescu radami Data 9 martie 2007 15:34:31
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream.h>

float valori[1001];

int main ()
 {
  int G,W,e[1001],g[1001],n,i,j;
  std::ifstream f ("energii.in");
  f>>G;
  f>>W;
  for (i=0;i<G;i++)
   {
    f>>e[i]>>g[i];
    valori[i]=float(g[i])/float(e[i]);

   }
  f.close();
  for (i=0;i<G-1;i++)
   for (j=i+1;j<G;j++)
    if (valori[i]>valori[j])
     {
      valori[i]=valori[i]+valori[j];
      valori[j]=valori[i]-valori[j];
      valori[i]=valori[i]-valori[j];
      int aux=e[i];
      e[i]=e[j];
      e[j]=aux;
      aux=g[i];
      g[i]=g[j];
      g[j]=aux;
     }
  int k=0,putere=0,cmin=0;

  while (putere<W)
   {
    putere+=e[k];
    cmin+=g[k++];
   }
  std::ofstream h ("energii.out");
  h<<cmin;
 return 0;
 }