Cod sursa(job #777328)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 11 august 2012 21:48:30
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
/* Energii */
#include<fstream>
#define inf 1000000
using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int n,w,i,j;
int m[3][5001];
int e[1001],c[1001];

int main()
{f>>n>>w;
for(i=1; i<=n; i++)
  f>>e[i]>>c[i];
  
for(j=1; j<=w; j++)
  m[0][j]=inf;  

for(i=1; i<=n; i++)
 {for(j=1; j<=w; j++)
    {m[1][j]=m[0][j];
     if(j>e[i])
        {if(m[1][j]>m[0][j-e[i]]+c[i])
           m[1][j]=m[0][j-e[i]]+c[i];}
     else  
        {if(m[1][j]>c[i])
            m[1][j]=c[i];}  
     }
  for(j=1; j<=w; j++)
      m[0][j]=m[1][j];
  } 

  
if(m[1][w]!=inf)     
g<<m[1][w]; 
else
g<<"-1";              
return 0;}