Cod sursa(job #206072)

Utilizator MciprianMMciprianM MciprianM Data 4 septembrie 2008 14:40:53
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<fstream>
using namespace std;
int viz[1000],cost[10009];
int main(){
  int G, W, i, E[1000], C[1000],j,co,imin,min,ok;
  ifstream f("energii.in");
  f>>G>>W;
  for(i=0;i<G;i++)
    f>>E[i]>>C[i];
  f.close();
  for(i=0;i<10009;i++)
    cost[i]=10000099;
  min=10000099;
  for(i=0;i<10009;i++){
    ok=0;
    for(j=0;j<G;j++){
      if(!viz[j]){
        ok=1;
        if(E[j]<=i){
          co=cost[i-E[j]]+C[j];
          if(co<cost[i]){
            cost[i]=co;
            imin=j;
          }
        }
      }
    }
    if(cost[i]<min&&i>=W)
      min=cost[i];
    if(!ok){
      if(min==10000099){
        ofstream g("energii.out");
        g<<"-1\n";
        g.close();
      }
      else{
        ofstream g("energii.out");
        g<<min<<'\n';
        g.close();
      }
    }
   // if(min>cost[i])  min=cost[i];
  }
  ofstream g("energii.out");
  g<<min<<'\n';
  g.close();
  return 0;
}