Cod sursa(job #650187)

Utilizator cnt_tstcont teste cnt_tst Data 17 decembrie 2011 15:25:19
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
int n , w , i , j , e , c , V[5003];
int main(){
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&n,&w);
	
	for(i=1;i<=w;i++)
		V[i]=2000000;
	for(i=1;i<=n;i++){
		scanf("%d%d",&e , &c);
		for(j=w;j>=0;j--){
			if(V[j]!=2000000){
				if((j+e)>=w&&(V[j]+c)<V[w])
					V[w]=V[j]+c;
				
				if(j+e<w&&V[j]+c<V[j+e])
					V[j+e]=V[j]+c;
			}
		}
		/*if(e>w){
			if(c<V[w])
				V[w]=c;
		}
		else
			if(V[e]>c)
				V[e]=c;*/
	}	
	if(V[w]>=2000000)
		printf("%d",-1);
	else
		printf("%d",V[w]);
	return 0;
}