Cod sursa(job #2265294)

Utilizator FrostfireMagirescu Tudor Frostfire Data 20 octombrie 2018 22:03:36
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,gmax,i,w[5003],p[5003],D[3][10005],maxi,cw;
int main()
{
    f>>n>>gmax;
    for(i=1;i<=n;i++) f>>w[i]>>p[i];
    for(i=1;i<=n;i++)
       { for(cw=1;cw<=gmax;cw++)
           { if(cw-w[i]>=0) D[2][cw] = max(D[1][cw],D[1][cw-w[i]]+p[i]);
                else D[2][cw] = D[1][cw];
             maxi = max(D[2][cw],maxi);
           }
         for(cw=1;cw<=gmax;cw++) D[1][cw] = D[2][cw];
       }
    g<<maxi<<'\n';
    return 0;
}