Cod sursa(job #2195076)

Utilizator timar_andreiTimar Andrei timar_andrei Data 15 aprilie 2018 09:21:02
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int N,G;
int W[5005],P[5005];
int DP[5005];

void Read()
{
    fin>>N>>G;
    for(int i=1;i<=N;i++)
    {
        fin>>W[i]>>P[i];
    }
}

int main()
{
    Read();

    int sol=0;
    for(int i=1;i<=N;i++)
        for(int j=G-W[i];j>=0;j--)
        {
            if (DP[j+W[i]] < DP[j] + P[i])
            {
                DP[j+W[i]] = DP[j] + P[i];
                if (DP[j+W[i]] > sol)
                {
                    sol = DP[j+W[i]];
                }
            }
        }

    fout<<sol;

    return 0;
}