Cod sursa(job #2311047)

Utilizator diaconudanielaDiaconu Daniela diaconudaniela Data 2 ianuarie 2019 16:09:14
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
#include<algorithm>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

struct obiect{
float G,V,E;
};

int n,Gmax,i;
obiect o[5001];
float c;
int cmp(obiect a, obiect b){
return a.E>b.E;
}

int main()
{
f>>n>>Gmax;
for(i=1;i<=n;i++)
{
    f>>o[i].G>>o[i].V;
    o[i].E=o[i].V/o[i].G;
}
sort(o+1,o+n+1,cmp);
i=1;
if(o[i].G>Gmax)
    c=0;
else
    while(i<=n&&Gmax>0)
{
    if(Gmax-o[i].G>=0)
        c=c+o[i].V;
    else
    c=c+Gmax*o[i].V/o[i].G;
    Gmax=Gmax-o[i].G;
    i++;}
    g<<c;


    return 0;
}