Cod sursa(job #2429098)

Utilizator mihhTURCU MIHNEA ALEXANDRU mihh Data 7 iunie 2019 19:25:10
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>
#define N 10006
using namespace std;

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

int n, gmax, g[5000], v[5000], p[5000][10000];

void cit(){

    fin>>n>>gmax;
    for(int i=1; i<=n; ++i)
        fin>>g[i]>>v[i];
}

void afis(){

    int i, j;

    cout<<"   ";
    for(i=1; i<=gmax; ++i)
        cout<<i<<" ";
    cout<<"\n";
    for(i=1; i<=n; ++i)
    {
        cout<<i<<": ";
        for(j=1; j<=gmax; ++j)
            cout<<p[i][j]<<" ";
        cout<<"\n";
    }
    cout<<"\n\n";
}

int main()
{
    cit();

    int i,x, j;

    for(i=1; i<=n; ++i)
    {
        for(j=1; j<=gmax; ++j)
            if(g[i]<=j and p[i-1][j] < p[i-1][j-g[i]]+v[i])
            {
                p[i][j]=p[i-1][j-g[i]]+v[i];
            }
            else p[i][j]=p[i-1][j];
//        afis();
    }
    fout<<p[n][gmax];
    return 0;
}