Cod sursa(job #1579795)

Utilizator KemyKoTeo Virghi KemyKo Data 25 ianuarie 2016 08:51:49
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int s,i,g1,n;

struct ob
{
    int p;
    int k;
}v[8001];

int comp (ob a,ob b)
{
    if ((float)a.p/a.k==(float)b.p/b.k)
        return (a.p>b.p);
    else    return ((float)a.p/a.k>(float)b.p/b.k);
}

int main()
{
    ifstream f("rucsac.in");
    ofstream g("rucsac.out");
    f>>n>>g1;
    for (i=1;i<=n;i++)
        f>>v[i].k>>v[i].p;
    sort (v+1,v+n+1,comp);

for (i=1;i<=n;i++)
    cout<<v[i].k<<" "<<v[i].p<<endl;
    for (i=1;i<=n;i++)
    {
        if (v[i].k<g1)
        {
            g1=g1-v[i].k;
            s=s+v[i].p;
        }
    }
    g<<s+2<<" ";
}