Cod sursa(job #1356383)

Utilizator iarbaCrestez Paul iarba Data 23 februarie 2015 13:33:59
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>
using namespace std;
int g,w,a[15001],m,i,e,c,j;
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);
	a[0]=1;m=100000001;
	for(i=1;i<=g;i++)
	{
		scanf("%d%d",&e,&c);
		for(j=w-1;j>=0;j--)
		{
			if(a[j])
			{
				if( ( a[j+e]==0 ) || ( a[j+e]>a[j]+c ) )
				{
					a[j+e]=a[j]+c;
					if( ( j+e>=w ) && ( a[j+e]<m ) ) m=a[j+e];
				}
			}
		}
	}
	if(m==100000001){m=0;}
	printf("%d",m-1);
return 0;
}