Cod sursa(job #580965)

Utilizator soriynSorin Rita soriyn Data 13 aprilie 2011 17:35:37
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>

int g[1005][3];
int e,c;
int sol[10005];
int n,t;
const int inf=2000000000;
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d %d",&n,&t);
	for(int i=1;i<=n;i++)
		scanf("%d %d",&g[i][1],&g[i][2]);
	for(int i=1;i<=t;i++) sol[i]=inf;
	for(int i=1;i<=2*t;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(i-g[j][1]>=0 && i-g[j][1]!=inf)
				if(sol[i-g[j][1]]+g[j][2]< sol[i] && sol[i]!=0) sol[i]=sol[i-g[j][1]]+g[j][2];
		}
	}
	for(int i=t;i<=2*t;i++)
		if(sol[t]!=inf){
	printf("%d",sol[t]);break;}
}