Cod sursa(job #87665)

Utilizator horiama1Mania Horia horiama1 Data 28 septembrie 2007 14:50:31
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
struct doi{
	long i,j;
};
doi v[1000],v2[1000];
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	int g,w,i,j;
	scanf("%d%d",&g,&w);
        v2[0].i=1;
	for(i=0;i<g;i++)
		scanf("%ld%ld",&v[i].i,&v[i].j);
	for(i=0;i<g;i++)
		for(j=g-1;j>=0;j--)
		      if(v2[j].i==1&&j+v[i].i<=1000000)
		      {
				v2[j+v[i].i].i=1;
			if(v2[j].j+v[i].j<v2[j+v[i].i].j)
				v2[j+v[i].i].j=v2[j].j+v[i].j;
			if(v2[j+v[i].i].j==0)
				v2[j+v[i].i].j=v2[j].j+v[i].j;
		      }
	for(i=w;i<10000;i++)
		if(v2[i].i==1)
		{
			printf("%ld",v2[i].j);
			break;
		}
return 0;
}