Cod sursa(job #2188716)

Utilizator Alexandru_StoianStoian Sorin Alexandru Alexandru_Stoian Data 27 martie 2018 13:22:26
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

int opt[10001],w[5001],p[5001],sol,n,G;

int main(){
    f>>n>>G;
    for(int i=1; i<=n; ++i)
        f>>w[i]>>p[i];
    opt[0]=0;
    sol=0;
    for(int i=1; i<=n; ++i){
        for(int j=G-w[i]; j>=0; --j){
            if(opt[j+w[i]]<opt[j]+p[i]){
                opt[j+w[i]]=opt[j]+p[i];
                if(opt[j+w[i]]>sol)
                    sol=opt[j+w[i]];
            }
        }
    }
    g<<sol;
}