Cod sursa(job #678002)

Utilizator PatrunjelFMIAnita Liviu Patrunjel Data 10 februarie 2012 21:30:24
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int k,q,C[1001],E[1001],cost[5002],G,W;

void cit(){
    int i;
    fin>>G;
    fin>>W;
    for(i=0;i<G;i++)
        fin>>E[i]>>C[i];
    for(i=0;i<=W;i++)   cost[i]=32000;
}

void sel(){
    int i,j;
    for(i=0;i<G;i++){
        for(j=1;j<=W;j++){
            k=j+E[i];
            if(k>W) k=W;
            q=cost[j]+C[i];
            if(cost[k]>q)   cost[k]=q;
        }
        cost[E[i]]=C[i];
    }
}

int main(){
    cit();
    sel();
    if(cost[W]!=32000)  fout<<cost[W]<<endl;
    else    fout<<-1;

    return 0;
}