Cod sursa(job #774420)

Utilizator deea101Andreea deea101 Data 4 august 2012 18:16:51
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int b[100000];
int main()
{
	int n,G;
	f>>n>>G;
	int i,w,p,j,max=0;
	f>>w>>p; b[w]=p; max=p;
	for(i=1;i<n;i++)
	{
		f>>w>>p;
		for(j=G-w;j>=0;j--)
		{
			if(b[j] && j+w<=G)
			{
				if(b[j+w])
				{
					if (b[j]+p>b[j+w]) 
					{
						b[j+w]=b[j]+p;
					}
					else 1;
				}
				else b[j+w]=b[j]+p;
				if(max<b[j+w]) max=b[j+w];
			}
		}
		//g<<"ceva";
	}
	g<<max;
}