Cod sursa(job #2523560)

Utilizator vladrataRata Vlad Daniel vladrata Data 14 ianuarie 2020 13:09:37
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int p[1005],v[1005],g[1005];
int main()
{
    int n,gmax,a,b=0,j,c,i,max=0;
    in>>n>>gmax;
    for(i=1; i<=n; i++)
    {
        in>>g[i]>>v[i];
        p[i]=v[i]/g[i];
    }
    for(i=1; i<=n-1; i++)
    {
        for(j=1; j<=n; j++)
        {
            if(max<p[j])
            {
                max=p[j];
                a=j;
            }
        }
        p[a]=-1;
        if(gmax-g[a]>=0)
        {
        gmax=gmax-g[a];
        b=b+v[a];
        }
        else
            {
                c=g[a]/gmax;
                gmax=gmax-g[a]/c;
                b=b+v[a]/c;
            }
        max=0;
    }
    out<<b;

    return 0;
}