# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
521992 | eecs | Escape Route (JOI21_escape_route) | C++17 | 4536 ms | 144592 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "escape_route.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF = 1e18;
void chk(ll &x, ll y) {
if (x > y) x = y;
}
vector<ll> calculate_necessary_time(int n, int m, ll S, int q,
vector<int> A, vector<int> B, vector<ll> L, vector<ll> C,
vector<int> U, vector<int> V, vector<ll> T) {
vector<vector<ll>> W(n, vector<ll>(n, -1)), lim = W;
for (int i = 0; i < m; i++) {
W[A[i]][B[i]] = W[B[i]][A[i]] = L[i];
lim[A[i]][B[i]] = lim[B[i]][A[i]] = C[i] - L[i];
}
auto dijkstra = [&](vector<ll> &d) {
vector<bool> vis(n);
while (1) {
int u = -1;
for (int i = 0; i < n; i++) {
if (!vis[i] && d[i] < INF && (!~u || d[u] > d[i])) u = i;
}
if (!~u) break;
vis[u] = 1;
for (int i = 0; i < n; i++) if (~W[u][i]) {
if (d[u] % S <= lim[u][i]) chk(d[i], d[u] + W[u][i]);
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |