Cod sursa(job #774422)

Utilizator deea101Andreea deea101 Data 4 august 2012 18:23:39
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 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==0) && 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;
				
			}
		}
		//g<<"ceva";
	}
	for(i=1;i<=G;i++) if(b[i]>max) max=b[i];
	g<<max;
}