Cod sursa(job #2475231)

Utilizator victor1306Victor Mihaila victor1306 Data 16 octombrie 2019 16:20:13
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int e[1005],c[1005],profit[5005];
int main()
{
    int G,W,s=0;
    cin>>G>>W;
    for(int i=1;i<=G;i++){
        cin>>e[i]>>c[i];
        s+=e[i];
    }
    if(s<W){
    cout<<-1;
    return 0;
    }
    for(int i=1;i<=W;i++){
        profit[i]=1000000001;
    }
    for(int i=1;i<=G;i++){
        for(int j=W;j>=0;j--){
            if(e[i]+j>W){
                profit[i]=min(profit[W],profit[j]+c[i]);
            }
            else{
                profit[j+e[i]]=min(profit[j]+c[i],profit[j+e[i]]);
            }
        }
    }
    cout<<profit[W];
    return 0;
}