Cod sursa(job #2799413)

Utilizator mihaicrisanMihai Crisan mihaicrisan Data 13 noiembrie 2021 10:15:09
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
 
//#pragma GCC optimize("Ofast")
 
using namespace std;
 
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
 
int dp[2][10001];
 
int main()
{
    ios_base::sync_with_stdio(false);
    int n, w, index, i, curr_w, p, j, ans;
    fin>>n>>w;
    index=0;
    for (i=1;i<=n;++i, index=1-index)
    {
        fin>>curr_w>>p;
        for (j=0;j<=w;++j)///iterez prin greutatile din dp[i-1]
        {
            if (dp[index][j]>dp[1-index][j])
                dp[1-index][j]=dp[index][j];
            if (j+curr_w<=w && dp[index][j]+p>dp[1-index][j+curr_w])
                dp[1-index][j+curr_w]=dp[index][j]+p;
        }
    }
    fin.close();
    ans=dp[index][w];
    fout << ans;
    fout.close();
 
    return 0;
}