Cod sursa(job #1579812)

Utilizator Andrei2001Andrei Parvulescu Andrei2001 Data 25 ianuarie 2016 09:12:12
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <algorithm>
using namespace std;
int ct,i,n,gm;
    struct obiect
    {
        int c,g;
        int o;
    } a[5001];
    int compar(obiect a,obiect b)
    {
        return a.c*a.g>b.c*b.g;
    }
    int main()
    {   ifstream f("rucsac.in");
        ofstream h("rucsac.out");
        int ct=0,i=1,gm,c,n,g;
        f>>n>>gm;
        for(i=1;i<=n;i++)f>>a[i].g>>a[i].c;
        i=1;
        sort(a+1,a+n+1,compar);
        while(gm>0 & i<=n)
        {
            if(a[i].g<=gm)
            {
                gm-=a[i].g;
                ct+=a[i].c;
            }
            i++;
        }
        h<<ct;
        h.close();
        f.close();
    }