Cod sursa(job #2354296)

Utilizator Iorgus08Iorgus Serghei Cicala Iorgus08 Data 25 februarie 2019 09:40:42
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

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

const int maxn=5e3+1;

const int maxg=1e4+1;

int N,G,i,j,solutie=0;

int a[maxn],b[maxn];

int varianta_optima[maxg];


int main()
{
	in>>N>>G;
	for (i=1;i<=N;++i)
    {
		in>>a[i]>>b[i];
	}
	varianta_optima[0]=0;
	for(i=1;i<=N;++i)
		for(j=G-a[i];j>=0;--j)
		{
			if(varianta_optima[j+a[i]]<varianta_optima[j]+b[i])
			{
				varianta_optima[j+a[i]]=varianta_optima[j]+b[i];
				if(varianta_optima[j+a[i]]>solutie)
					solutie=varianta_optima[j+a[i]];
			}
		}
    out<<solutie;
	return 0;
}