Cod sursa(job #464757)

Utilizator cosmyoPaunel Cosmin cosmyo Data 21 iunie 2010 17:19:47
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream.h>
long s[100005],eg[1005],cg[1005],g,w;
void cit()
{ifstream fin("energii.in");
  fin>>g>>w;
  long i;
   for(i=1;i<=g;++i)
	   fin>>eg[i]>>cg[i];
 fin.close();
}
void solve()
{s[0]=1;
 long i,j;
 for(i=1;i<=g;++i)
 { for(j=100000;j>=0;--j)
	 if(s[j]&&j+eg[i]<=100000)
	 {if(s[j+eg[i]]==0)
		 s[j+eg[i]]=s[j]+cg[i];
	   else
		   if(s[j+eg[i]]>s[j]+cg[i])
			   s[j+eg[i]]=s[j]+cg[i];
	 }
 }
}
void afis()
{ofstream fout("energii.out");
  long i;
   for(i=w;i<=100005;++i)
	   if(s[i])
	   {fout<<s[i]-1<<'\n';
	    break;
	   }
 fout.close();
}
int main()
{cit();
 solve();
 afis();
 return 0;
}