Cod sursa(job #2652292)

Utilizator Casian_doispeChiriac Casian Casian_doispe Data 24 septembrie 2020 18:08:00
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <deque>
#include <vector>
#include <bitset>
#include <queue>
#include <unordered_set>
#include <algorithm>
#include <cmath>

using namespace std ;

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

int m[1009][1009] ;

int main()
{
    int n, k, mx = 0 ;

    cin >> n >> k ;

    for(int f = 1 ; f <= n ; f ++)
    {

        int g, val ;

        cin >> g >> val ;

        for(int e = 0 ; e <= k ; e ++)
        {

            if(e >= g)m[f][e] = max({m[f - 1][e], m[f - 1][e - g] + val, m[f][e - 1]}) ;
                else m[f][e] = max({m[f - 1][e], m[f][e - 1]}) ;

            mx = max(m[f][e], mx) ;

        }

    }

    cout << mx ;

    return 0 ;
}