Cod sursa(job #1582499)

Utilizator AlexandraIrimiaAlexandra Irimia AlexandraIrimia Data 27 ianuarie 2016 23:07:08
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 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 (float)a.c/a.g>(float)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();
    }