Cod sursa(job #774454)

Utilizator deea101Andreea deea101 Data 4 august 2012 22:24:54
Problema Ghiozdan Scor 36
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
int b[75001];
int main()
{
	int n,G;
	f>>n>>G;
	int i,p,j,smax=0,w[G],nmin;
	f>>w[0]; b[w[0]]=1; smax=w[0]; 
	for(i=1;i<n;i++)
	{
		f>>w[i];
		for(j=G-w[i];j>=0;j--)
		{
			if((b[j]||j==0) && j+w[i]<=G)
			{
				if(b[j+w[i]])
				{
					if (b[j]+1<b[j+w[i]]) 
					{
						b[j+w[i]]=b[j]+1;
					}
					else 1;
				}
				else b[j+w[i]]=b[j]+1;
				
			}
		}
		
	}
	for(i=1;i<=G;i++) if(b[i] && smax<i) smax=i;
	g<<smax<<' '<<b[smax]<<endl; 
	
}