Cod sursa(job #2935938)

Utilizator RolandPetreanPetrean Roland RolandPetrean Data 7 noiembrie 2022 18:30:03
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
// https://infoarena.ro/problema/energii
#include <bits/stdc++.h>
using namespace std;

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

int main() {
  int g, w;
  fin>>g>>w;

  vector<int> e(g+1), p(g+1);
  for (int i=1; i<=g; ++i) fin>>e[i]>>p[i];

  vector<int> dp(w+1, INT_MAX);
  dp[0] = 0;
  for (int i=1; i<=g; ++i) {
    for (int j=w; j>=e[i]; --j) {
      if (dp[j-e[i]] != INT_MAX) dp[j] = min(dp[j], p[i]+dp[j-e[i]]);
    }
  }

  if (dp[w] == INT_MAX) dp[w] = -1;
  fout<<dp[w];
}