Cod sursa(job #220647)

Utilizator SheepBOYFelix Liviu SheepBOY Data 11 noiembrie 2008 21:24:29
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
int v[1000001];
struct G_C{
int e,c;
};
int g,w;
int sum;
G_C energ[1001];
void reorder()
{
	int i,j;
	for(j=0;j<=sum;j++)
	{
		for(i=0;i<g;i++)
		{
			if(v[j])
			if(v[j+energ[i].e]>v[j]+energ[i].c||!v[j+energ[i].e])
				v[j+energ[i].e]=v[j]+energ[i].c;		
		}
	}
	for(i=w;;i++)
		if(v[i])
		{
			printf("%d",v[i]);
			break;
		}
		
}
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);	
	int i=0;
	for(i=0;i<g;i++)
	{
		scanf("%d%d",&energ[i].e,&energ[i].c);
		if(sum<energ[i].e)
			sum=energ[i].e;
		if(v[energ[i].e]>energ[i].c||!v[energ[i].e])
			v[energ[i].e]=energ[i].c;


	}
	reorder();
	return 0;
}