Cod sursa(job #2300895)

Utilizator danielsociuSociu Daniel danielsociu Data 12 decembrie 2018 11:57:04
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
std::ifstream cin("rucsac.in");
std::ofstream cout("rucsac.out");
#define maxn 5005
#define maxw 10005
int n,weight;
int w[maxn],val[maxn];
int g[2][maxw];

int main()
{
    cin>>n>>weight;
    for(int i=0;i<n;++i)
       cin>>w[i]>>val[i];
    int l=0;
    for(int i=1;i<=n;i++,l=1-l)
        for(int cw=0;i<=weight;cw++){
        g[1-l][cw]=g[l][cw];
        if(w[i]<=cw)
            g[1-l][cw]=std::max(g[1-l][cw],g[l][cw-w[i]]+val[i]);
    }
    cout<<g[l][weight];
}