Submission #1194989

#TimeUsernameProblemLanguageResultExecution timeMemory
1194989Younis_DwaiRoad Closures (APIO21_roads)C++20
0 / 100
20 ms4544 KiB
#include "roads.h"
#define F first
#define S second
#define ll long long
#define in insert
#define pb push_back

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
ll dp[N];
std::vector<long long> minimum_closure_costs(int N, std::vector<int> U,std::vector<int> V,std::vector<int> W){
  int n=N;
  vector<ll> ret;
  ll sum=0;
  for(auto u : W) sum+=u;
  ret.pb(sum);
  dp[0]=W[0];dp[1]=max(W[0],W[1]);
  for(int i=2;i<N-1;i++) dp[i]=max(dp[i-1],W[i]+dp[i-2]);
  //for(int i=0;i<N-1;i++) cout<<" # "<<i<<' '<<dp[i]<<endl;
  for(int i=1;i<n-1;i++){
      if(i==1) ret.pb(sum-dp[n-2]);
      else ret.pb(0);
  }
  return ret;
}
#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...