Cod sursa(job #2213892)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 17 iunie 2018 21:18:29
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;

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

int n,i,j,m,v[1001],c[1001],w,d[5001];

int main(){
    fin>>n>>w;
    m=100000;
    for(i=1;i<=n;i++)
        fin>>v[i]>>c[i];

    d[0]=1;
    for(i=1;i<=n;i++){
        for(j=w;j>=0;j--){
            if(d[j]!=0){
                if(j+c[i]<=w)
                    d[j+c[i]]=max(d[j+c[i]],d[j]+v[i]);
                else
                    m=min(m,d[j]+v[i]);
            }
        }
    }
    if(m!=100000)
        fout<<m;
    else
        fout<<"-1";

    return 0;
}