Cod sursa(job #3253072)

Utilizator ax_dogaruDogaru Alexandru ax_dogaru Data 1 noiembrie 2024 12:29:24
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

long long dp[2][15005], sol=INT_MAX;

void setdp() {
    for(int i=0; i<15005; i++) {
        dp[0][i]=dp[1][i]=INT_MAX;
    }
}

int main()
{
    int n, w, e, c, q=1;
    fin >> n >> w;
    setdp();
    dp[0][0]=dp[1][0]=0;
    for(int i=0; i<n; i++) {
        fin >> e >> c;
        for(int j=0; j<=w; j++) {
            dp[q][j+e]=min(min(dp[1-q][j]+c, dp[1-q][j+e]), dp[q][j+e]);
        }
        q=1-q;
    }
    for(int i=w; i<=w+10000; i++) {
        sol=min(sol, dp[1-q][i]);
    }
    if(sol!=INT_MAX) {
        fout << sol;
    } else {
        fout << "-1";
    }
    return 0;
}