Cod sursa(job #2461220)

Utilizator KernelovicNegrean Victor Kernelovic Data 25 septembrie 2019 09:44:56
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <cstdio>

using namespace std;

int greutate[5001], pret[5001];
int sir[10001];

int main()
{

	freopen("rucsac.in", "r", stdin);
	freopen("rucsac.out", "w", stdout);

	int N, G; cin >> N >> G;

	for (int i = 1; i <= N; i++)
    {
		cin >> greutate[i] >> pret[i];
	}

	sir[0] = 0;
	int sol = 0;

	for(int i = 1; i <= N; i++)
	{
		for(int j = G - greutate[i]; j >= 0; j--)
        {
			if(sir[j + greutate[i]] < sir[j] + pret[i])
			{
				sir[j + greutate[i]] = sir[j] + pret[i];

				if(sir[j + greutate[i]] > sol) sol = sir[j + greutate[i]];
			}
		}
	}

	cout << sol;
}