Cod sursa(job #2325507)

Utilizator serban24Popovici Serban-Florin serban24 Data 22 ianuarie 2019 18:19:59
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,val;
int w[1005],v[1005];
int dp[10011005];

int main(){
    int i,j,sum1=0,sum=0,answer=1000000000,ok=0,k=0;

    fin>>n>>val;

    for(i=1;i<=n;i++){
        fin>>w[i]>>v[i];
        sum1+=w[i];

        if(w[i]<=g)
            k=1;
    }

    if(k){
        dp[0]=0;

        for(i=1;i<=sum1;i++)
            dp[i]=1000000000;

        for(i=1;i<=n;i++){
            sum+=w[i];
            for(j=sum;j>=w[i];j--)
                dp[j]=min(dp[j],v[i]+dp[j-w[i]]);
        }

        for(i=val;i<=sum;i++)
            if(dp[i]<answer){
                answer=dp[i];
                ok=1;
            }

        if(ok)
            fout<<answer;
        else
            fout<<-1;
    }
    else
        fout<<-1;

    return 0;
}