Cod sursa(job #1730305)

Utilizator antracodRadu Teodor antracod Data 16 iulie 2016 19:00:34
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define MAXG 10001
#define MAXN 5000

int w[MAXN];
int p[MAXN];
int sol[MAXG];
int n,s;


int main()
{
    in>>n>>s;
    for(int i=1;i<=n;i++)
    {
        in>>w[i];
        in>>p[i];
    }

    sol[0]=1;

    for(int i=1;i<=n;i++)
    {
        for(int j=s-w[i];j>=0;j--)
        {
            if(sol[j+w[i]]<sol[j]+p[i])
            {
                sol[j+w[i]]=sol[j]+p[i];
            }
        }
    }
    out<<sol[s]-1;


}