Cod sursa(job #4261)

Utilizator cosminstefanxpStefan Dobrin Cosmin cosminstefanxp Data 1 ianuarie 2007 21:05:43
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream.h>
#include <iostream.h>
int v[10001],C[10001],E[10001];
int main()
{
    int G,W,i,j;
    long sum=0;
    ifstream f("energii.in");
    ofstream g("energii.out");
    f>>G>>W;
    for(i=1;i<=G;i++)
    {
		f>>E[i];
		f>>C[i];
		sum+=E[i];
	 }
	 f.close();
	 if(sum<W) {g<<-1; g.close(); return 0;}
	 v[0]=-1;
	 for(i=1;i<=G;i++)
		 for(j=10001;j>=0;j--)
			 if(v[j]!=0 && v[j+E[i]]==0)
				 v[j+E[i]]=C[i];
	   else
		  if(v[j]!=0 && v[j+E[i]]>C[i]+v[j])
	      	v[j+E[i]]=C[i]+v[j];
    long minim=0;
	 for(j=W;j<10001;j++)
		if(v[j]<minim&&v[j]!=0)
       minim=v[j];
    g.close();
    return 0; 
}