Submission #1177990

#TimeUsernameProblemLanguageResultExecution timeMemory
1177990JelalTkmRoad Closures (APIO21_roads)C++20
7 / 100
28 ms9032 KiB
#include <bits/stdc++.h>
// #include "roads.h"
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")

using namespace std;

#define ll long long int

// const int N = 1000 + 10;
// const int md = 1e9 + 7;
// const int INF = 5e6;

vector<ll> minimum_closure_costs(int n, vector<int> u,
                                             vector<int> v,
                                             vector<int> w) {
  vector<ll> ans(n, 0);
  for (int i = 0; i < (n - 1); i++)
    ans[0] += w[i];
  vector<vector<ll>> dp(n + 1, vector<ll> (2, 1e18));
  dp[0][0] = 0;
  dp[0][1] = 0;
  for (int i = 1; i <= (n - 1); i++) {
    dp[i][0] = dp[i - 1][1];
    dp[i][1] = min(dp[i - 1][0], dp[i - 1][1]) + w[i - 1];
  }

  ans[1] = min(dp[n - 1][0], dp[n - 1][1]);

  return ans;
}

// int32_t main(int32_t argc, char *argv[]) {
//   ios::sync_with_stdio(false);
//   cin.tie(nullptr);

//   int T = 1;
//   // cin >> T;
//   while (T--) {
//     vector<int> u = {0, 0, 0}, v = {1, 2, 3}, w = {5, 10, 5};
//     vector<ll> ans = minimum_closure_costs(4, u, v, w);
//     for (auto i: ans)
//       cout << i << " ";
//   }

//   return 0;
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...