Cod sursa(job #1143948)

Utilizator TibixbAndrei Tiberiu Tibixb Data 16 martie 2014 13:24:01
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;
int n, k, i, j, v[10003], maxim;
struct cub{
    int g;
    int val;
};
cub x[10003];
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int main(){
    in>>n>>k;
    for(i=1; i<=n; i++){
        in>>x[i].g>>x[i].val;
        for(j=maxim; j>=1; j--){
            if(v[j]!=0 && j+ x[i].g<=k && v[j]+x[i].val>=v[j+x[i].g])
                v[j+x[i].g]=v[j]+x[i].val;
        }
        if(v[x[i].g]<x[i].val)
                v[x[i].g]=x[i].val;
            maxim+=x[i].g;
    }
    for(i=maxim; v[i]==0; i--){}
    out<<v[i];
    return 0;
}