#include<bits/stdc++.h>
#include "railroad.h"
using namespace std;
#define ll long long
int n;
vector<int> s, t;
vector<vector<ll>> dp;
ll solve(int prev, int bm){
if (bm == 0) dp[prev][bm] = 0;
if (dp[prev][bm] != 1ll<<50) return dp[prev][bm];
for (int i=0; i<n; i++){
if (bm & (1<<i)){
if (prev != 0) dp[prev][bm] = min(dp[prev][bm], max(0, t[prev-1]-s[i])+solve(i+1, bm ^ (1<<i)));
else dp[prev][bm] = min(dp[prev][bm], solve(i+1, bm ^ (1<<i)));
}
}
return dp[prev][bm];
}
ll plan_roller_coaster(vector<int> s, vector<int> t){
n = s.size();
::s = s;
::t = t;
dp.resize(n+1, vector<ll>(1<<n, 1ll<<50));
return solve(0, (1<<n)-1);
}
컴파일 시 표준 에러 (stderr) 메시지
railroad.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |