Submission #1226493

#TimeUsernameProblemLanguageResultExecution timeMemory
1226493chaeryeongCity Mapping (NOI18_citymapping)C++20
32 / 100
1 ms584 KiB
#include "citymapping.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; void find_roads(int n, int q, int A[], int B[], int W[]) { vector <int> ii(n, 0); vector <ll> c(n + 1, 0); for (int i = 1; i <= n; i++) { c[i] = get_distance(1, i); } iota(ii.begin(), ii.end(), 1); stable_sort(ii.begin(), ii.end(), [&] (auto x, auto y) { return c[x] < c[y]; }); if (q == 12000) { vector <int> a[2] = {{1, ii[1]}, {1}}; int cur = 0; for (int i = 2; i < n; i++) { if (c[ii[i - 1]] + get_distance(ii[i - 1], ii[i]) != c[ii[i]]) { cur ^= 1; } a[cur].push_back(ii[i]); } int cnt = 0; for (int j = 0; j + 1 < (int)a[0].size(); j++) { int idx = cnt; cnt++; A[idx] = a[0][j]; B[idx] = a[0][j + 1]; W[idx] = c[a[0][j + 1]] - c[a[0][j]]; } for (int j = 0; j + 1 < (int)a[1].size(); j++) { int idx = cnt; cnt++; A[idx] = a[1][j]; B[idx] = a[1][j + 1]; W[idx] = c[a[1][j + 1]] - c[a[1][j]]; } return; } for (int i = 1; i <= n; i++) { } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...