제출 #1057049

#제출 시각아이디문제언어결과실행 시간메모리
1057049fv3Roller Coaster Railroad (IOI16_railroad)C++14
컴파일 에러
0 ms0 KiB
#include "shortcut.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; vector<vector<pair<int, ll>>> adj; int N; vector<int> visited; vector<ll> dist; ll find_diameter() { visited = vector<int>(N); dist = vector<ll>(N, 1ll << 60); priority_queue<pair<ll, int>> q; q.push({0, 0}); dist[0] = 0; int mx_index; while (1) { int s = q.top().second; q.pop(); visited[s] = 1; for (auto node : adj[s]) { if (visited[node.first] || dist[s] + node.second > dist[node.first]) continue; dist[node.first] = dist[s] + node.second; q.push({-dist[node.first], node.first}); } if (q.empty()) { mx_index = s; break; } } visited = vector<int>(N); dist = vector<ll>(N, 1ll << 60); q.push({0, mx_index}); dist[mx_index] = 0; while (1) { int s = q.top().second; q.pop(); visited[s] = 1; for (auto node : adj[s]) { if (visited[node.first] || dist[s] + node.second > dist[node.first]) continue; dist[node.first] = dist[s] + node.second; q.push({-dist[node.first], node.first}); } if (q.empty()) { return dist[s]; } } return 0; } ll find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c) { N = 2 * n; adj.resize(N); for (int i = 0; i < n - 1; i++) { adj[i].push_back({i+1, l[i]}); adj[i+1].push_back({i, l[i]}); } for (int i = 0; i < n; i++) { adj[i].push_back({i+n, d[i]}); adj[i+n].push_back({i, d[i]}); } ll res = 1ll << 60; for (int i = 0; i < n - 1; i++) { for (int j = i+1; j < n; j++) { adj[i].push_back({j, c}); adj[j].push_back({i, c}); res = min(res, find_diameter()); adj[i].pop_back(); adj[j].pop_back(); } } return res; }

컴파일 시 표준 에러 (stderr) 메시지

railroad.cpp:1:10: fatal error: shortcut.h: No such file or directory
    1 | #include "shortcut.h"
      |          ^~~~~~~~~~~~
compilation terminated.