Cod sursa(job #1737966)

Utilizator dumitru123Patularu Mihai dumitru123 Data 5 august 2016 14:20:10
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,i,p,maxa,k,j;
struct rucsac
{
    int gr,pr;
    float val;
}v[5003];
void read()
{
    f>>n>>maxa;
    for(i=1;i<=n;i++)
    {
        f>>v[i].gr>>v[i].pr;
        v[i].val=(float)v[i].pr/v[i].gr;
    }
}
void sort()
{
    for(i=1;i<n;i++)
    for(j=i+1;j<=n;j++)
    if(v[i].val<v[j].val) swap(v[i],v[j]);
}
void solve()
{
    i=1;
    while(maxa-v[i].gr>=0 and i<=n)
    {
        maxa-=v[i].gr;
        p+=v[i].pr;
        i++;
    }
    g<<p;
}
int main()
{
    read();
    sort();
    solve();
    return 0;
}