Cod sursa(job #940399)

Utilizator abcdefg12345nume complet am zis abcdefg12345 Data 16 aprilie 2013 09:24:30
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.03 kb
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream scrie("rucsac.out");
int ok,g[100],k=1,i,n,G,aux,procent;
double ef[100],v[100],Pmax;
void sort()
{
while(ok!=1)
{ok=1;
    for(i=1;i<=n-1;i++)
   {   if(ef[i]<ef[i+1]){aux=ef[i];
                         ef[i]=ef[i+1];
                        ef[i+1]=aux;
                          ok=0;
                        aux=v[i];
                         v[i]=v[i+1];
                        v[i+1]=aux;
                        aux=g[i];
                         g[i]=g[i+1];
                        g[i+1]=aux; }
}
}
}
int main()
{f>>n>>G;
for(i=1;i<=n;i++)
{f>>g[i]>>v[i];
 ef[i]=v[i]/g[i];}
 sort();
 for(i=1;i<=n&&G>0;i++)
  {G=G-g[i];
  if(G<0) procent=(g[i]+G)*100/g[i];
         else procent=100;
  if(procent==100) Pmax=Pmax+v[i];
                 else Pmax=Pmax+v[i]*procent/100;
  //scrie<<"se  incarca cel cu valoare "<<v[i]<<"  in procent de "<< procent<< "%"<<"/n";
  }
  scrie<<Pmax;
  f.close();
  scrie.close();
  return 0;
}