Submission #548822

#TimeUsernameProblemLanguageResultExecution timeMemory
548822usukhbaatarCity Mapping (NOI18_citymapping)C++14
0 / 100
178 ms12852 KiB
#include "citymapping.h" #include <vector> #include <queue> #include <algorithm> using namespace std; int p[100001]; int _find(int x) { if (p[x] == x) return x; return p[x] = _find(p[x]); } bool _union(int x, int y) { x = _find(x); y = _find(y); if (x == y) return false; p[x] = y; return true; } void find_roads(int N, int Q, int A[], int B[], int W[]) { vector<pair<int, pair<int, int>>> e; int xx = 0; for (int i = 0; i < N; i++) { p[i] == i; } for (int i = 1; i <= N; i++) { for (int j = i + 1; j <= N; j++) { int temp = get_distance(i, j); if (temp == 1) { if (_union(i, j)) { A[xx] = i; B[xx] = j; W[xx] = 1; xx++; } } else { e.push_back({temp, {i, j}}); e.push_back({temp, {j, i}}); } } } if (xx == N - 1) return; sort(e.begin(), e.end()); for (int i = 0; i < e.size(); i++) { int u = e[i].second.first; int v = e[i].second.second; if (_union(u, v)) { A[xx] = u; A[xx] = v; W[xx] = e[i].first; } } return; }

Compilation message (stderr)

citymapping.cpp: In function 'void find_roads(int, int, int*, int*, int*)':
citymapping.cpp:27:8: warning: statement has no effect [-Wunused-value]
   27 |   p[i] == i;
      |   ~~~~~^~~~
citymapping.cpp:48:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |  for (int i = 0; i < e.size(); 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...