Mai intai trebuie sa te autentifici.

Cod sursa(job #200470)

Utilizator mordredSimionescu Andrei mordred Data 24 iulie 2008 10:05:38
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

int g,w,c,e,a[1000010],ws,ws1,ab;
int i,j,r=2100000;

int main()
{
 freopen("energii.in","r",stdin);
 freopen("energii.out","w",stdout);
  
 scanf("%d%d",&g,&w);
 
 for(i=1;i<1000010;++i)
	a[i]=2100000;
 for(i=0;i<g;++i)
 {
    scanf("%d%d",&e,&c);
	ws=ws1;
	for(j=ws;j>=0;j--)
		{
		if(a[j]!=2100000)
			{
			if(a[j]+c<a[j+e])
				a[j+e]=a[j]+c;
			if(j+e>ws1)
				ws1=j+e;
			if(ws1>ab)
				ab=ws1;
			if(ws1>w)
				ws1=w;
			}
		}
 }
 
 if(ab>=w)
    {
 	for(i=w;i<=ab;++i)
 	  {
 	  if(a[i]!=2100000)
 	      {
 	      if(a[i]<r)
 	          r=a[i];
 	      }
 	  }
 	printf("%d\n",r);
    }
 else
 	printf("-1\n");
 return 0;
}