Cod sursa(job #1557992)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 28 decembrie 2015 16:06:34
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
// Problema rucsacului
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,a,b,gr,pr;
struct obj
{
    int w,p,r;
};
obj v[5002];
bool test(obj a,obj b)
{
    return a.p<b.p;
}
int main()
{
    f>>n>>gr;
    for(int i=1;i<=n;++i)
    {
        f>>v[i].w>>v[i].p;
        v[i].r=v[i].p/v[i].w;
    }
    sort(v+1,v+n+1,test);
    while(gr>0 && n>0)
    {
        if(v[n].w<=gr)
        {
            gr-=v[n].w;
            pr+=v[n].p;
        }
        --n;
    }
    g<<pr<<'\n';
    return 0;
}