Cod sursa(job #1645005)

Utilizator alex_topTop Alexandru alex_top Data 10 martie 2016 10:37:24
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,q,pmax,i,cw;
int w[5010],p[5010];
int d[2][10010];
int main()
{
    f>>n>>q;
    for(i=1;i<=n;i++)
    {
        f>>w[i]>>p[i];
    }
    int l=0;
    for(i=1;i<=n;i++,l=1-l)
    {
        for(cw=0;cw<=q;cw++)
        {
            d[1-l][cw]=d[l][cw];
            if(w[i]<=cw)
            {
                d[1-l][cw]=max(d[1-l][cw],d[l][cw-w[i]]+p[i]);
            }
        }
    }
    pmax=d[l][q];
    g<<pmax;
    return 0;
}