Cod sursa(job #605587)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 1 august 2011 12:04:39
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
int g,w,c[5002][3];
int e[1002],cc[1002];
int main()
{
	int i,j; 
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d %d",&g,&w);
	for(i=1;i<=g;i++)
		scanf("%d %d",&e[i],&cc[i]);
	for(i=0;i<=w;i++)
		c[i][1]=10001;
	j=1;
	while(j<=g)
	{
		for(i=1;i<=w;i++) 
			if(i>e[j]&&c[i-e[j]][1]+cc[j]<c[i][1])
				c[i][2]=cc[j]+c[i-e[j]][1];
			else
				if(i<=e[j]&&cc[j]<c[i][1])
					c[i][2]=cc[j];
				else
					c[i][2]=c[i][1];
		for(i=1;i<=w;i++)
			c[i][1]=c[i][2];
		j++;
	}
	if(c[w][1]==10001)
		printf("-1\n");
	else
		printf("%d\n",c[w][1]);
	return 0;
}