Cod sursa(job #1202858)

Utilizator geumb98Umbrarescu George geumb98 Data 29 iunie 2014 21:37:36
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
float r[5001];
int check()
{
    for(auto x:r) if(x) return 1;
    return 0;
}
int main()
{
    int n,G,i,j,s=0;
    f>>n>>G;
    int w[n],p[n];
    for(i=1;i<=n;++i) { f>>w[i]>>p[i];
                        r[i]=1.*p[i]/w[i];
                        }
    while(G>0&&check()) { for(i=j=1;i<=n;++i) if(r[i]>r[j]) j=i;
               if(G>=w[j]) { G-=w[j];
                             s+=p[j];
                             }
               r[j]=0;
               for(i=1;i<=n;++i) g<<r[i]<<" ";
               g<<endl;
               g<<G<<endl;
               }
    g<<s;
    f.close();
    g.close();
    return 0;
}