Cod sursa(job #218271)

Utilizator allynaAlina S allyna Data 1 noiembrie 2008 13:26:01
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;
int viz[1000];
int valoare[10000];
int main(){
  int g,w,i,e[1000],c[1000],max,imax,j,val,ok;
  ifstream in("energii.in");
  ofstream out("energii.out");
  in>>g>>w;
  for(i=0;i<g;i++)
    in>>e[i]>>c[i];
  in.close();
  for(i=1;i<100009;i++){
    max=0;
    imax=-1;
    ok=0;
    for(j=0;j<g;j++)
      if(!viz[j]){
        ok=1;
        if(c[j]<=i){
          val=e[j]+valoare[i-c[j]];
          if(val>max){
            max=val;
            imax=j;
          }
        }
        if(!ok){
          
          out<<"-1"<<endl;
          
        }
    }
    valoare[i]=max;
    if(max) viz[imax]=1;
    if(valoare[i]>=w){
      
      out<<i<<endl;
      
    }
  }
  out.close();
  return 0;
}