Cod sursa(job #719302)

Utilizator simpleBereczki Cristian simple Data 21 martie 2012 18:27:25
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
FILE *f=fopen("energii.in","r"),*g=fopen("energii.out","w");
int optim[5001],w[1001],n,G,p[1001],sol;
void citire()
{int i;
fscanf(f,"%d",&n);
fscanf(f,"%d",&G);
for(i=1;i<=n;i++)
	{fscanf(f,"%d%d",&w[i],&p[i]);
	}
}
int main()
{
citire();
int i,j;sol=0;optim[0]=0;
for(i=1;i<=n;i++)
	{for(j=G-w[i];j>=0;j--)
		{if(optim[j+w[i]]<optim[j]+p[i])
			{optim[j+w[i]]=optim[j]+p[i];
			if(sol<optim[j+w[i]])
				{sol=optim[j+w[i]];
				}
			}
		}
	}
fprintf(g,"%d",sol);
fclose(f);
fclose(g);
return 0;
}