Mai intai trebuie sa te autentifici.

Cod sursa(job #117003)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 20 decembrie 2007 09:33:39
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
int main(){
	int eg[10002],cg[10002],g,w,i,j,cost[100000];
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);
	for(i=1;i<=g;++i)
		scanf("%d%d",&eg[i],&cg[i]);
	for(i=1;i<=w;i++)
		cost[i]=100000;
	for(i=1;i<=g;++i){
		for(j=w-1;j>0;--j)
			if(j+eg[i]>w)
				if(cg[i]+cost[j]<cost[w])
					cost[w]=cost[j]+cg[i];
				else;
			else
				if(cg[i]+cost[j]<cost[j+eg[i]])
					cost[j+eg[i]]=cost[j]+cg[i];
		if(cg[i]<cost[eg[i]])
			cost[eg[i]]=cg[i];
	}
	if(cost[w]==100000)
		printf("-1\n");
	else
		printf("%d\n",cost[w]);
	fclose(stdin);
	fclose(stdout);
	return 0;
}