Cod sursa(job #1054395)

Utilizator lucamateiLuca Matei lucamatei Data 13 decembrie 2013 20:29:09
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;
struct nod{int w,c;}v[100000];
ifstream f("energii.in");
ofstream g("energii.out");
long long S,W,a[5001];int n,i,j;
int main()
{f>>n>>W;
for(i=1;i<=n;i++)
    f>>v[i].w>>v[i].c;
   f.close();

a[0]=0;  for(S=W;S>=1;S--) a[S]=-1;

 for(i=1;i<=n;i++)
{
      for(S=W;S>=1;S--)
        if(a[S]!=-1)
        {if(a[S-v[i].w]!=-1 && S-v[i].w>=0)
            if(a[S-v[i].w]+v[i].c<a[S])
                 a[S]=a[S-v[i].w]+v[i].c;
        }
            else
                if(a[S-v[i].w]!=-1 && S-v[i].w>=0)
                a[S]=a[S-v[i].w]+v[i].c;

           // g<<v[i].w<<' '<<v[i].c<<'\n';
            //  for(S=1;S<=W;S++)                g<<a[S]<<' ';
            //g<<'\n';
}

   g<<a[W];
   g.close();
   return 0;

}