Cod sursa(job #1920566)

Utilizator Harsan_SabinHarsan Sabin Harsan_Sabin Data 10 martie 2017 08:19:19
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int n,G,P[5002],W[5002],D[2][10002];

int main()
{
    cin>>n>>G;

    for(int i=1;i<=n;++i)
        cin>>W[i]>>P[i];

    for(int i=1;i<=n;++i)
        for(int j=0;j<=G;++j)
            if(i%2==1)
            {
                D[1][j]=D[0][j];

                if(W[i]<=j)
                    D[1][j]=max(D[1][j],D[0][j-W[i]]+P[i]);
            }
            else
            {
                D[0][j]=D[1][j];

                if(W[i]<=j)
                    D[0][j]=max(D[0][j],D[1][j-W[i]]+P[i]);
            }

    cout<<D[n%2][G];

    return 0;
}
//16