제출 #1208410

#제출 시각아이디문제언어결과실행 시간메모리
1208410ansoriRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
154 ms12944 KiB
#include "railroad.h" #include<bits/stdc++.h> #define ll long long using namespace std; const ll inf = 1e16; long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { int n = (int) s.size(); if(n <= 16){ vector<vector<ll>> dp(vector<vector<ll>> (1 << n , vector<ll> (n , inf))); for(int i = 0;i < n; ++ i) dp[0][i] = 0; for(int i = 1;i < (1 << n); ++ i){ for(int j = 0;j < n; ++ j){ if(i & (1 << j)){ int z = (i - (1 << j)); if(z == 0) dp[i][j] = 0; for(int p = 0;p < n; ++ p){ dp[i][j] = min(dp[i][j] , dp[z][p] + max(0 , t[p] - s[j])); } } } } ll ans = inf; for(int i = 0;i < n; ++ i) ans = min(ans , dp[(1 << n) - 1][i]); return ans; } multiset<pair<int , int>> st; for(int i = 0;i < n; ++ i) st.insert({s[i] , t[i]}); int x = st.begin() -> second; st.erase(st.begin()); for(int i = 1;i < n; ++ i){ auto to = st.lower_bound({x , 0}); //cout << to -> first << ' ' << to -> second << '\n'; if(to == st.end()) return 1; x = to -> second; st.erase(to); } return 0; }

컴파일 시 표준 에러 (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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...