Cod sursa(job #2068309)

Utilizator EricEric Vilcu Eric Data 17 noiembrie 2017 16:08:45
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;
struct sp{float pg,g,p;};
ifstream f("rucsac.in");
ofstream g("rucsac.out");
sp a[1001];
int n,i,j;
float G,y;
int main()
{
    f>>n>>G;
    for(i=1;i<=n;i++){f>>a[i].g>>a[i].p;a[i].pg=a[i].p/a[i].g;}
    for(i=1;i<n;i++)for(j=i+1;a[j].pg>a[j-1].pg && j>1;j--)swap(a[j],a[j-1]);
    for(i=1;i<=n;i++)if(a[i].g<=G){G=G-a[i].g;y=y+a[i].p;}
                     else{j=y;y=y+a[i].pg*G;break;}
    g<<y;
}