Cod sursa(job #87667)

Utilizator horiama1Mania Horia horiama1 Data 28 septembrie 2007 15:08:05
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
struct doi{
	long i,j;
};
doi v[10000000],v2[10000000];
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	int g,w,i,j,k;
	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(k=1;k<3;k++)
	for(i=0;i<g;i++)
		for(j=g-1;j>=0;j--)
		      if(v2[j].i==1)
		      {
				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<10000000;i++)
		if(v2[i].i==1)
		{
			printf("%ld",v2[i].j);
			break;
		}
return 0;
}