Cod sursa(job #2872886)

Utilizator FasoleboiTudor Gadalean Fasoleboi Data 18 martie 2022 08:48:04
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>
#define N 10010
using namespace std;

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

int n, g, w[N], p[N], dp[2][N];

int main(){
    fin>>n>>g;
    for(int i=1;i<=n;i++){
        fin>>w[i]>>p[i];
    }
    int lin=0;
    for(int i=1;i<=n;i++, lin =1-lin){
        for(int j=0;j<=g;j++){
            dp[1-lin][j] = dp[lin][j];
            if(w[i]<=j)
                dp[1-lin][j] = max(dp[1-lin][j], dp[lin][j-w[i]]+p[i]);
        }
    }
    fout<<dp[lin][g];
    return 0;
}