Submission #1241118

#TimeUsernameProblemLanguageResultExecution timeMemory
1241118kaiboyICC (CEOI16_icc)C++20
Compilation error
0 ms0 KiB
#include <algorithm> #include <iostream> #include "icc.h" using namespace std; const int N = 100; int ds[N], rr[N], ii0[N], ii1[N]; int find(int i) { return ds[i] < 0 ? i : (ds[i] = find(ds[i])); } void join(int i, int j) { i = find(i); j = find(j); if (i == j) return; if (ds[i] == ds[j]) ds[i]--; if (ds[i] < ds[j]) swap(i, j); ds[i] = j; } void run(int n) { for (int i = 0; i < n; i++) ds[ii[i] = i] = -1; for (int z = 0; z < n - 1; z++) { int c = 0; for (int i = 0; i < n; i++) if (ds[i] < 0) rr[i] = c++; for (int i = 0; i < n; i++) rr[i] = rr[find(i)]; int h_ = -1; for (int h = 0; h < 7; h++) { int k0 = 0, k1 = 0; for (int i = 0; i < n; i++) (!(rr[i] >> h & 1) ? ii0[k0++] : ii1[k1++]) = i + 1; if (query(k0, k1, ii0, ii1)) { h_ = h; break; } } int k0 = 0, k1 = 0; for (int i = 0; i < n; i++) (!(rr[i] >> h_ & 1) ? ii0[k0++] : ii1[k1++]) = i + 1; int lower = 0, upper = k0; while (upper - lower >> 1) { int h = lower + upper >> 1; if (query(k0 - h, k1, ii0 + h, ii1)) lower = h; else upper = h; } int i = ii0[lower] - 1; int lower = 0, upper = k1; while (upper - lower >> 1) { int h = lower + upper >> 1; if (query(k0, k1 - h, ii0, ii1 + h)) lower = h; else upper = h; } int j = ii1[lower] - 1; setRoad(i + 1, j + 1), join(i, j); } }

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:29:20: error: 'ii' was not declared in this scope; did you mean 'i'?
   29 |                 ds[ii[i] = i] = -1;
      |                    ^~
      |                    i
icc.cpp:59:21: error: redeclaration of 'int lower'
   59 |                 int lower = 0, upper = k1;
      |                     ^~~~~
icc.cpp:50:21: note: 'int lower' previously declared here
   50 |                 int lower = 0, upper = k0;
      |                     ^~~~~
icc.cpp:59:32: error: redeclaration of 'int upper'
   59 |                 int lower = 0, upper = k1;
      |                                ^~~~~
icc.cpp:50:32: note: 'int upper' previously declared here
   50 |                 int lower = 0, upper = k0;
      |                                ^~~~~