Cod sursa(job #2138806)

Utilizator mircearoataMircea Roata Palade mircearoata Data 21 februarie 2018 21:26:43
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;

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

int n,g,m,maxx;
int ans[2][10001];

int main()
{
    in>>n>>g;
    for(int i = 1;i<=n;i++)
    {
        int w,p;
        in>>w>>p;
        for(int j = 0;j<=g;j++)
        {
            if(j+w<=g)
                ans[i%2][j+w]=max(ans[(i+1)%2][j+w],ans[(i+1)%2][j]+p);
            else
                ans[i%2][j+w]=ans[(i+1)%2][j+w];
        }
    }
    for(int i = 0;i<=g;i++)
        if(ans[n%2][i]>maxx)
            maxx=ans[n%2][i];
    out<<maxx;
    return 0;
}