Submission #733891

#TimeUsernameProblemLanguageResultExecution timeMemory
733891vjudge1City Mapping (NOI18_citymapping)C++17
0 / 100
27 ms468 KiB
#include "citymapping.h" #include <bits/stdc++.h> using namespace std; using ll = long long; constexpr ll inf = 1e15; void find_roads(int N, int Q, int A[], int B[], int W[]) { int x = -1; ll mx = 0; for (int i = 1; i < N; i++) { ll s = get_distance(1, i + 1); if (s > mx) { mx = s; x = i; } } vector<pair<ll, int>> p(N); for (int i = 0; i < N; i++) { p[i] = {get_distance(x + 1, i + 1), i}; } sort(p.begin(), p.end()); vector<int> v{x}, cnt(N); for (int i = 1; i < N; i++) { int u = p[i].second; ll mn = inf; int y = -1; for (int x : v) { ll s = get_distance(u + 1, x + 1); if (s < mn) { mn = s; y = x; } } A[i - 1] = u + 1; B[i - 1] = y + 1; W[i - 1] = mn; cnt[u]++; if (++cnt[y] == 3) { v.erase(find(v.begin(), v.end(), y)); } v.push_back(u); } }
#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...