Cod sursa(job #3252905)

Utilizator ax_dogaruDogaru Alexandru ax_dogaru Data 31 octombrie 2024 14:35:02
Problema Energii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

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

long long dp[10005], sol=INT_MAX;

int main()
{
    long long n, w, e, c;
    fin >> n >> w;

    for(int i=0; i<n; i++) {
        fin >> e >> c;
        for(int i=10000; i>=e; i--) {
            if(dp[i-e]!=0 || i-e==0) {
                if(dp[i]==0) {
                    dp[i]=dp[i-e]+c;
                } else {
                    dp[i]=min(dp[i-e]+c, dp[i]);
                }
            }
        }
    }

    for(int i=w; i<10001; i++) {
        if(dp[i]>0) {
            sol=min(sol, dp[i]);
        }
    }
    if(sol!=INT_MAX) {
        fout << sol;
    } else {
        fout << "-1";
    }
    return 0;
}