제출 #710485

#제출 시각아이디문제언어결과실행 시간메모리
710485irmuun도로 폐쇄 (APIO21_roads)C++17
12 / 100
50 ms6476 KiB
#include<bits/stdc++.h>
#include "roads.h"
using namespace std;
#define pb push_back
#define ll long long
#define ff first
#define ss second
#define PI 3.1415926535897932384626433
#define all(s) s.begin(),s.end() 
 
const ll mod=1000000007,mod1=998244353,INF=1e18,MAX=1e9;
 
vector<ll> minimum_closure_costs(int n,vector<int>u,vector<int>v,vector<int>w){
    int cnt=0;
    for(int i=0;i<n-1;i++){
        if(u[i]==0){
            cnt++;
        }
    }
    if(cnt==n-1){
        sort(all(w));
        ll cur=0;
        for(ll i=0;i<n;i++){
            cur+=w[i];
		}
		vector<ll>ans;
		for(ll i=n-1;i>=0;i--){
            cur-=w[i];
            ans.pb(cur);
        }
        return ans;
    }
    vector<ll>ans(n,0);
    ll cur=0;
    for(int i=0;i<n-1;i++){
        cur+=w[i];
    }
    ans[0]=cur;
    ll dp[n+5];
    dp[0]=0;
    dp[1]=w[0];
    for(int i=2;i<n;i++){
        dp[i]=min(dp[i-1],dp[i-2])+w[i-1];
    }
    ans[1]=min(dp[n-1],dp[n-2]);
    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...