Cod sursa(job #1897051)

Utilizator sebi110Ciobanu Sebastian sebi110 Data 1 martie 2017 09:21:13
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,gm,g,i,j,v;
long long maxim;
long long  dp[3][20001];
int main()
{
    fin>>n>>gm;
    for(i=1;i<=n;i++)
    {
        fin>>g>>v;
        for(j=1;j<g;j++)
            dp[i%2][j]=dp[1-(i%2)][j];
        for(j=g;j<=gm;j++)
            dp[i%2][j]=max(dp[1-(i%2)][j-g]+v,dp[1-(i%2)][j]);
    }
    maxim=0;
    for(j=1;j<=gm;j++)
        maxim=max(maxim,dp[n%2][j]);
    fout<<maxim;
    return 0;
}