Cod sursa(job #3362155)

Utilizator SabinDontDontete Sabin SabinDont Data 3 august 2026 16:39:24
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
long long dp[2][100005],x[100005],y[100005];
int main()
{
    long long n,gmax,i,j,solmax=0;
    fin>>n>>gmax;
    for(i=1;i<=n;i++){
        fin>>x[i]>>y[i];
    }
    for(i=1;i<=n;i++){
        for(j=0;j<=gmax;j++){
            dp[i%2][j]=max(dp[i%2][j],dp[(i-1)%2][j]);
            if(j+x[i]<=gmax)
            dp[i%2][j+x[i]]=max(dp[i%2][j+x[i]],dp[(i-1)%2][j]+y[i]);
        }
    }
    for(j=0;j<=gmax;j++){
        solmax=max(solmax,dp[n%2][j]);
    }
    fout<<solmax;
}