Submission #1223390

#TimeUsernameProblemLanguageResultExecution timeMemory
1223390JerRoad Closures (APIO21_roads)C++20
7 / 100
45 ms10172 KiB
#include "roads.h" #include <bits/stdc++.h> #include <vector> using namespace std; typedef long long ll; const int MAXN = 100005; int con[MAXN]; int n; ll total = 0; ll dp[MAXN]; ll w[MAXN]; ll solve(int i){ if (dp[i] != -1) return dp[i]; if (i == n - 1) return w[i]; if (i == n - 2) return max(w[i], w[i + 1]); dp[i] = max(w[i] + solve(i + 2), solve(i + 1)); return dp[i]; } std::vector<long long> minimum_closure_costs(int N, std::vector<int> U, std::vector<int> V, std::vector<int> W) { n = N; for (int i = 0; i < n - 1; i++) w[i] = (ll)W[i], total += w[i]; vector<ll> res; memset(dp, -1, sizeof dp); res.push_back(total); res.push_back(total - solve(0)); for (int i = 0; i < n - 2; i++) res.push_back(0); return res; }
#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...