Submission #1163709

#TimeUsernameProblemLanguageResultExecution timeMemory
1163709MalixRoad Closures (APIO21_roads)C++20
7 / 100
28 ms9032 KiB
#include "roads.h"
#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vii;
typedef pair<int,int> pi;
typedef vector<pi> pii;
typedef tuple<int,int,int> tii;
typedef vector<ll> li;
typedef vector<li> lii;
 
#define REP(i,a,b) for(int i=a;i<b;i++)
#define F first
#define S second
#define PB push_back
#define LSOne(s) ((s)&(-s))
 
const ll INF=1000000000000000010;
const int inf=1e9+10;
const ll M=1e9+7;

std::vector<long long> minimum_closure_costs(int n, std::vector<int> U, std::vector<int> V, std::vector<int> W) {
  vector<ll> ans(n,0);
  REP(i,0,n-1)ans[0]+=(ll)W[i];
  if(n>2){
    vector<vector<ll>> dp(n-1,vector<ll>(2,0));
    dp[0][1]=(ll)W[0];
    REP(i,1,n-1){
      dp[i][0]=dp[i-1][1];
      dp[i][1]=min(dp[i-1][0],dp[i-1][1])+(ll)W[i];
    }
    ans[1]=min(dp[n-2][0],dp[n-2][1]);
  }
  return ans;
}
#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...