Cod sursa(job #1353792)

Utilizator Seb16Ungureanu Paul Sebastian Seb16 Data 21 februarie 2015 14:44:00
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n, g, w[10001], v[10001], x, val, greu, k;
int r[10001];
int main()
{
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin>>n>>g;
    for(int i=1; i<=n; i++)
    {
        fin>>w[i]>>v[i];
        r[i]=v[i]/w[i];
    }
    while(greu<=g&&k<=n)
    {
        x=max_element(r+1, r+n+1)-r;
        if(w[x]+greu<=g)
        {
            greu=greu+w[x];
            val=val+v[x];
        }
        k++;
        r[x]=-1;
    }
    fout<<val;
    fin.close();
    fout.close();
    return 0;
}