Cod sursa(job #547949)

Utilizator valentina506Moraru Valentina valentina506 Data 6 martie 2011 20:46:17
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
using namespace std;
int n,gmax,k,c[101],g[101],uz[301][101],cmax[301],s,i,j;
int main()
{
	ifstream f("energii.in");
	ofstream g1("energii.out");
	f>>n>>gmax;
	for(i=1;i<=n;i++)
	{
		f>>g[i];
		f>>c[i];
	}
	for(i=1;i<=gmax;i++)
		cmax[i]=-1;
	for(s=1;s<=gmax;s++)
		for(i=1;i<=n;i++)
			if(g[i]<=s&&cmax[s-g[i]]!=-1&&uz[s-g[i]][i]==0)
				if(cmax[s]<cmax[s-g[i]]+c[i])
				{
					cmax[s]=cmax[s-g[i]]+c[i];
					for(j=1;j<=n;j++)
						uz[s][j]=uz[s-g[i]][j];
					uz[s][i]=1;
				}
				
				if(cmax[gmax]==-1)
					g1<<"Imposibil";
				else
					g1<<cmax[gmax]<<"\n";
			/*	for(i=1;i<=n;i++)
					if(uz[gmax][i])
					g1<<i<<" ";*/
					return 0;
}