Cod sursa(job #2540209)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 6 februarie 2020 20:47:09
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    freopen("rucsac.in", "r", stdin);
    freopen("rucsac.out", "w", stdout);

    int n, gmax, a, b, dp[10001], maxi = 0;
    cin>>n>>gmax;
    for(int i=0;i<n;i++){
        cin>>a>>b;
        for(int j=gmax;j>=a;j--)
            if(dp[j-a]!=0){
                dp[j] = max(dp[j], dp[j - a] + b);
                if(dp[j]>maxi)
                    maxi = dp[j];
            }
        dp[a] = max(b, dp[a]);
        if(dp[a]>maxi)
            maxi = dp[a];
    }
    cout<<maxi;
    return 0;
}