# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
983341 | 2024-05-15T10:32:34 Z | crispxx | 사이버랜드 (APIO23_cyberland) | C++17 | 23 ms | 5712 KB |
#include "bits/stdc++.h" #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; typedef long long ll; typedef long double ld; typedef tree <int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; typedef pair<double, int> pii; #define nl '\n' #define vt vector #define ar array #define pb push_back #define ff first #define ss second const int INF = INT_MAX; double solve(int N, int M, int K, int H, vt<int> x, vt<int> y, vt<int> c, vt<int> arr) { int n = N, m = M, k = K, h = H; vt<pair<int, int>> adj[n]; for(int i = 0; i < M; i++) { adj[x[i]].pb({y[i], c[i]}); adj[y[i]].pb({x[i], c[i]}); } vector<double> d(N, numeric_limits<double>::max()); priority_queue<pii, vt<pii>, greater<pii>> q; d[0] = 0; q.push({0, 0}); while(!q.empty()) { int u = q.top().ss; double res = q.top().ff; q.pop(); if(u == h) return res; int ch = k; if(arr[u] == 2) ch--; for(auto &edge : adj[u]) { int v = edge.ff; int c = edge.ss; double nw = res + c; if(arr[v] == 0) nw = res; if(arr[v] == 2 && ch) { nw = res + c / 2.; ch--; } if(nw < d[v]) { d[v] = nw; q.push({nw, v}); } } } return -1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 604 KB | Correct. |
2 | Correct | 13 ms | 604 KB | Correct. |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 604 KB | Correct. |
2 | Correct | 22 ms | 348 KB | Correct. |
3 | Correct | 19 ms | 604 KB | Correct. |
4 | Correct | 20 ms | 820 KB | Correct. |
5 | Correct | 20 ms | 604 KB | Correct. |
6 | Correct | 15 ms | 1372 KB | Correct. |
7 | Correct | 21 ms | 1372 KB | Correct. |
8 | Correct | 10 ms | 2392 KB | Correct. |
9 | Correct | 19 ms | 516 KB | Correct. |
10 | Correct | 22 ms | 508 KB | Correct. |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 23 ms | 588 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 22 ms | 5712 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 604 KB | Correct. |
2 | Correct | 20 ms | 348 KB | Correct. |
3 | Correct | 20 ms | 348 KB | Correct. |
4 | Correct | 18 ms | 1368 KB | Correct. |
5 | Correct | 17 ms | 348 KB | Correct. |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 20 ms | 564 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 20 ms | 348 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 20 ms | 344 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |