# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
777312 | 2023-07-09T03:59:55 Z | yeyso | 사이버랜드 (APIO23_cyberland) | C++17 | 27 ms | 9800 KB |
#include "cyberland.h" #include <bits/stdc++.h> using namespace std; #include <vector> double solve(int N, int M, int K, int H, vector<int> x, vector<int> y, vector<int> c, vector<int> arr) { vector<vector<long long>> adj(N, vector<long long>()); vector<vector<long long>> dma(N, vector<long long>()); for(long long i = 0; i < M; i ++){ adj[x[i]].push_back(y[i]); adj[y[i]].push_back(x[i]); dma[x[i]].push_back(c[i]); dma[y[i]].push_back(c[i]); } queue<pair<long long, long long>> q; q.push({0, H}); vector<long long> v(N, 0); vector<long long> d(N, LONG_LONG_MAX / 2); d[H] = 0; long long node, dist; while(!q.empty()){ node = q.front().second; dist = q.front().first; q.pop(); if(!v[node]){ v[node] = 1; for(long long i = 0; i < adj[node].size(); i ++){ d[adj[node][i]] = min(d[adj[node][i]], d[node] + dma[node][i]); q.push({dist + dma[node][i], adj[node][i]}); } } } q.push({0, 0}); vector<long long> v2(N, 0); v2[H] = 1; while(!q.empty()){ node = q.front().second; q.pop(); if(!v2[node]){ v2[node] = 1; for(long long i = 0; i < adj[node].size(); i ++){ q.push({0, adj[node][i]}); } } } long long lowest = d[0]; for(long long i = 0; i < d.size(); i ++){ if(d[i] < lowest and v2[i] == 1 and arr[i] == 0){ lowest = d[i]; } } if(d[0] <= LONG_LONG_MAX / 2) return -1; return lowest; } /* g++ -std=gnu++17 -O2 -Wall -pipe -static -o cyberland stub.cpp cyberland.cpp 1 10 9 10 6 1 1 0 1 2 2 1 0 2 1 0 1 3 1 2 1 2 3 1 3 4 1 4 5 1 5 6 1 6 7 1 7 8 1 8 9 1 1 3 2 30 2 1 0 1 1 2 12 2 0 4 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 14 ms | 340 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 468 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 24 ms | 516 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 27 ms | 9800 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 468 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 24 ms | 492 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 23 ms | 540 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 23 ms | 532 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |