Cod sursa(job #1367383)

Utilizator cristibogdanPatrascu Cristian cristibogdan Data 1 martie 2015 20:28:29
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream f("rucsac.in");
ofstream gg("rucsac.out");
int v1[1000],v2[1000],c[1000],i,j,s,g,n;
int main()
{
    f>>n>>g;

    for(i=1;i<=n;i++){
            f>>v1[i]>>v2[i];
                s+=v2[i];
    }for(i=1;i<=s;i++)
        c[i]=-1;
        for(i=1;i<=n;i++)
        for(j=s-v2[i];j>=0;j--)
                if(c[j]!=-1)
                    if(c[j]+v1[i]<=g)
                            if( c[j+v2[i]]==-1)

                                c[j+v2[i]]=c[j]+v1[i];

            else
                if(c[j+v2[i]]>c[j]+v1[i])
                    c[j+v2[i]]=c[j]+v1[i];

         for(i=s;i>=1;i--)
        if(c[i]!=-1){
                    gg<<i;
                    break;}
    return 0;
}