Cod sursa(job #5189)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 10 ianuarie 2007 21:05:47
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream.h>

ifstream f1("energii.in");
ofstream f2("energii.out");

int main(){
    int n,i,g,e[1001],c[1001],w,p[1001],q[10001],j,poz;
    long min;
    f1>>g>>w;
    for (i=1;i<=g;i++){
        f1>>e[i];f1>>c[i];p[i]=1;
    }
    i=1;
    q[0]=0;
    do{
       min=100000;
       poz=-1;
       for (j=1;j<=g;j++){
           if (e[j]<=i&&p[j]==1){
                        if (q[i-e[j]]+c[j]<min&&q[i-e[j]]!=-1){min=q[i-e[j]]+c[j];poz=j;}
           }
       }
       if (poz!=-1){
          q[i]=min;p[poz]=0;
       }
       else q[i]=-1;
       i++;
        
    }while (i<=w||q[i]==-1);
    f2<<q[i-1]<<'\n';
    f1.close();
    f2.close();
    return 0;
}