Cod sursa(job #324282)

Utilizator mihaionlyMihai Jiplea mihaionly Data 15 iunie 2009 13:27:35
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,w,W[5001],eg,cg,mx;
int main()
 {
 int i,j;
 f>>n>>w;
 for(i=1;i<=w;i++) W[i]=-1;
 for(i=1;i<=n;i++)
  {
  f>>eg>>cg;
  for(j=mx;j>=0;j--)
   {
   if(W[j]!=-1) 
    {
    if(j+eg<=w&&(W[j+eg]>W[j]+cg||W[j+eg]==-1))
     {
     W[j+eg]=W[j]+cg;
     if(j+eg>mx)
      mx=j+eg;
     }
    else if(j+eg>w&&(W[w]>W[j]+cg||W[w]==-1))
     {
     W[w]=W[j]+cg;
     mx=w;
     }
    }
   }
  }
 g<<W[w];
 }