Cod sursa(job #2922277)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 7 septembrie 2022 17:52:39
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX=5005;
const int NMAX1=10005;
int dp[NMAX1];

struct elem{
    int greutate;
    int valoare;
}v[NMAX];

int main()
{
    int n,i,j,gmax,kon=0;
    fin>>n>>gmax;
    for(i=1;i<=n;i++)
        fin>>v[i].greutate>>v[i].valoare;
    dp[0]=0;
    for(i=1;i<=n;i++)
        for(j=gmax-v[i].greutate;j>=0;j--)
            if(dp[j+v[i].greutate]<dp[j]+v[i].valoare)
            {
                dp[j+v[i].greutate]=dp[j]+v[i].valoare;
                    kon=max(kon,dp[j+v[i].greutate]);
            }
    fout <<kon;
    return 0;
}