QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#516001#9169. -is-this-bitset-hos_lyricAC ✓594ms67900kbC++148.0kb2024-08-12 13:02:012024-08-12 13:02:01

Judging History

你现在查看的是最新测评结果

  • [2024-08-12 13:02:01]
  • 评测
  • 测评结果:AC
  • 用时:594ms
  • 内存:67900kb
  • [2024-08-12 13:02:01]
  • 提交

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")


struct Hld {
  int n, rt;
  // needs to be tree
  // vertex lists
  // modified in build(rt) (parent removed, heavy child first)
  vector<vector<int>> graph;
  vector<int> sz, par, dep;
  int zeit;
  vector<int> dis, fin, sid;
  // head vertex (minimum depth) in heavy path
  vector<int> head;

  Hld() : n(0), rt(-1), zeit(0) {}
  explicit Hld(int n_) : n(n_), rt(-1), graph(n), zeit(0) {}
  void ae(int u, int v) {
    assert(0 <= u); assert(u < n);
    assert(0 <= v); assert(v < n);
    graph[u].push_back(v);
    graph[v].push_back(u);
  }

  void dfsSz(int u) {
    sz[u] = 1;
    for (const int v : graph[u]) {
      auto it = std::find(graph[v].begin(), graph[v].end(), u);
      if (it != graph[v].end()) graph[v].erase(it);
      par[v] = u;
      dep[v] = dep[u] + 1;
      dfsSz(v);
      sz[u] += sz[v];
    }
  }
  void dfsHld(int u) {
    dis[u] = zeit++;
    const int deg = graph[u].size();
    if (deg > 0) {
      int vm = graph[u][0];
      int jm = 0;
      for (int j = 1; j < deg; ++j) {
        const int v = graph[u][j];
        if (sz[vm] < sz[v]) {
          vm = v;
          jm = j;
        }
      }
      swap(graph[u][0], graph[u][jm]);
      head[vm] = head[u];
      dfsHld(vm);
      for (int j = 1; j < deg; ++j) {
        const int v = graph[u][j];
        head[v] = v;
        dfsHld(v);
      }
    }
    fin[u] = zeit;
  }
  void build(int rt_) {
    assert(0 <= rt_); assert(rt_ < n);
    rt = rt_;
    sz.assign(n, 0);
    par.assign(n, -1);
    dep.assign(n, -1);
    dep[rt] = 0;
    dfsSz(rt);
    zeit = 0;
    dis.assign(n, -1);
    fin.assign(n, -1);
    head.assign(n, -1);
    head[rt] = rt;
    dfsHld(rt);
    assert(zeit == n);
    sid.assign(n, -1);
    for (int u = 0; u < n; ++u) sid[dis[u]] = u;
  }

  friend ostream &operator<<(ostream &os, const Hld &hld) {
    const int maxDep = *max_element(hld.dep.begin(), hld.dep.end());
    vector<string> ss(2 * maxDep + 1);
    int pos = 0, maxPos = 0;
    for (int j = 0; j < hld.n; ++j) {
      const int u = hld.sid[j];
      const int d = hld.dep[u];
      if (hld.head[u] == u) {
        if (j != 0) {
          pos = maxPos + 1;
          ss[2 * d - 1].resize(pos, '-');
          ss[2 * d - 1] += '+';
        }
      } else {
        ss[2 * d - 1].resize(pos, ' ');
        ss[2 * d - 1] += '|';
      }
      ss[2 * d].resize(pos, ' ');
      ss[2 * d] += std::to_string(u);
      if (maxPos < static_cast<int>(ss[2 * d].size())) {
        maxPos = ss[2 * d].size();
      }
    }
    for (int d = 0; d <= 2 * maxDep; ++d) os << ss[d] << '\n';
    return os;
  }

  bool contains(int u, int v) const {
    return (dis[u] <= dis[v] && dis[v] < fin[u]);
  }
  int lca(int u, int v) const {
    assert(0 <= u); assert(u < n);
    assert(0 <= v); assert(v < n);
    for (; head[u] != head[v]; ) (dis[u] > dis[v]) ? (u = par[head[u]]) : (v = par[head[v]]);
    return (dis[u] > dis[v]) ? v : u;
  }
  int jumpUp(int u, int d) const {
    assert(0 <= u); assert(u < n);
    assert(d >= 0);
    if (dep[u] < d) return -1;
    const int tar = dep[u] - d;
    for (u = head[u]; ; u = head[par[u]]) {
      if (dep[u] <= tar) return sid[dis[u] + (tar - dep[u])];
    }
  }
  int jump(int u, int v, int d) const {
    assert(0 <= u); assert(u < n);
    assert(0 <= v); assert(v < n);
    assert(d >= 0);
    const int l = lca(u, v);
    const int du = dep[u] - dep[l], dv = dep[v] - dep[l];
    if (d <= du) {
      return jumpUp(u, d);
    } else if (d <= du + dv) {
      return jumpUp(v, du + dv - d);
    } else {
      return -1;
    }
  }
  // [u, v) or [u, v]
  template <class F> void doPathUp(int u, int v, bool inclusive, F f) const {
    assert(contains(v, u));
    for (; head[u] != head[v]; u = par[head[u]]) f(dis[head[u]], dis[u] + 1);
    if (inclusive) {
      f(dis[v], dis[u] + 1);
    } else {
      if (v != u) f(dis[v] + 1, dis[u] + 1);
    }
  }
  // not path order, include lca(u, v) or not
  template <class F> void doPath(int u, int v, bool inclusive, F f) const {
    const int l = lca(u, v);
    doPathUp(u, l, false, f);
    doPathUp(v, l, inclusive, f);
  }

  // (vs, ps): compressed tree
  // vs: DFS order (sorted by dis)
  // vs[ps[x]]: the parent of vs[x]
  // ids[vs[x]] = x, not set for non-tree vertex
  vector<int> ids;
  pair<vector<int>, vector<int>> compress(vector<int> us) {
    // O(n) first time
    ids.resize(n, -1);
    std::sort(us.begin(), us.end(), [&](int u, int v) -> bool {
      return (dis[u] < dis[v]);
    });
    us.erase(std::unique(us.begin(), us.end()), us.end());
    int usLen = us.size();
    assert(usLen >= 1);
    for (int x = 1; x < usLen; ++x) us.push_back(lca(us[x - 1], us[x]));
    std::sort(us.begin(), us.end(), [&](int u, int v) -> bool {
      return (dis[u] < dis[v]);
    });
    us.erase(std::unique(us.begin(), us.end()), us.end());
    usLen = us.size();
    for (int x = 0; x < usLen; ++x) ids[us[x]] = x;
    vector<int> ps(usLen, -1);
    for (int x = 1; x < usLen; ++x) ps[x] = ids[lca(us[x - 1], us[x])];
    return make_pair(us, ps);
  }
};

////////////////////////////////////////////////////////////////////////////////


constexpr int INF = 1001001001;

constexpr int E = 20;
constexpr int H = 12;
constexpr int M = 1 << (E - (H - 1));

int N;
vector<int> U, V;
vector<int> A, B;

Hld hld;
string ans;

vector<int> work;

void dfs(int u, vector<int> &dp) {
  const int d = hld.dep[u];
  if (d < H) {
    A[u] = 1 << (E - d);
    ans[u] = (B[u] % A[u] == 0) ? '1' : '0';
    if (d == H - 1) {
      dp.assign(M, INF);
      dp[0] = 0;
    }
  } else {
    for (int x = 0; x < M; ++x) work[(x + A[u]) & (M - 1)] = dp[x] + A[u];
    for (int x = 0; x < M; ++x) chmin(dp[x], work[x]);
    ans[u] = (dp[B[u] & (M - 1)] <= B[u]) ? '1' : '0';
  }
  const int len = hld.graph[u].size();
  for (int j = len; --j >= 0; ) {
    const int v = hld.graph[u][j];
    if (j) {
      auto dpCopy = dp;
      dfs(v, dpCopy);
    } else {
      dfs(v, dp);
    }
  }
}

int main() {
  for (; ~scanf("%d", &N); ) {
    U.resize(N - 1);
    V.resize(N - 1);
    for (int i = 0; i < N - 1; ++i) {
      scanf("%d%d", &U[i], &V[i]);
      --U[i];
      --V[i];
    }
    A.resize(N); for (int u = 0; u < N; ++u) scanf("%d", &A[u]);
    B.resize(N); for (int u = 0; u < N; ++u) scanf("%d", &B[u]);
    
    hld = Hld(N);
    for (int i = 0; i < N - 1; ++i) {
      hld.ae(U[i], V[i]);
    }
    hld.build(0);
    work.resize(M);
    ans = string(N, '?');
    
    vector<int> emp;
    dfs(0, emp);
    
    for (int u = 0; u < N; ++u) {
      if (u) printf(" ");
      printf("%d", A[u]);
    }
    puts("");
    puts(ans.c_str());
  }
  return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3872kb

input:

5
2 1
1 3
3 4
5 4
1 3 11 12 6
0 5 12 13 18

output:

1048576 524288 524288 262144 131072
10000

result:

ok Everything ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

1
2000000
2000000

output:

1048576
0

result:

ok Everything ok

Test #3:

score: 0
Accepted
time: 0ms
memory: 3804kb

input:

5
2 1
3 1
4 2
5 2
4 3 0 0 5
5 3 0 2 0

output:

1048576 524288 524288 262144 262144
00101

result:

ok Everything ok

Test #4:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

10
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
5 6 0 7 7 10 2 3 4 4
1 2 3 4 5 5 0 0 4 4

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072
0000001100

result:

ok Everything ok

Test #5:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

10
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
7 8 2 1 0 10 4 3 10 6
0 9 5 4 5 0 3 7 6 3

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072
1000010000

result:

ok Everything ok

Test #6:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

10
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
9 9 8 6 9 10 1 10 6 9
5 8 8 2 2 2 8 5 4 6

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072
0000000000

result:

ok Everything ok

Test #7:

score: 0
Accepted
time: 0ms
memory: 4076kb

input:

10
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
0 0 9 9 10 2 0 3 5 0
4 3 10 6 2 1 4 7 6 5

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072
0000000000

result:

ok Everything ok

Test #8:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

100
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55 2...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #9:

score: 0
Accepted
time: 0ms
memory: 3924kb

input:

500
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55 2...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #10:

score: 0
Accepted
time: 1ms
memory: 3884kb

input:

1000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55 ...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #11:

score: 0
Accepted
time: 3ms
memory: 4272kb

input:

5000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55 ...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #12:

score: 0
Accepted
time: 8ms
memory: 4556kb

input:

10000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #13:

score: 0
Accepted
time: 50ms
memory: 8304kb

input:

50000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
55...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #14:

score: 0
Accepted
time: 97ms
memory: 13256kb

input:

100000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #15:

score: 0
Accepted
time: 350ms
memory: 32840kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #16:

score: 0
Accepted
time: 301ms
memory: 67656kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #17:

score: 0
Accepted
time: 285ms
memory: 67876kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #18:

score: 0
Accepted
time: 283ms
memory: 67828kb

input:

300000
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
21 20
22 21
23 22
24 23
25 24
26 25
27 26
28 27
29 28
30 29
31 30
32 31
33 32
34 33
35 34
36 35
37 36
38 37
39 38
40 39
41 40
42 41
43 42
44 43
45 44
46 45
47 46
48 47
49 48
50 49
51 50
52 51
53 5...

output:

1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 756943 37612 782401 1971767 1786796 1410138 565803 1186136 881774 238795 1035245 791846 1163247 1499684 1364227 1761140 559551 107453 1789884 1826085 901175 921436 333619 569499 132107 1707245 397390 683917 1383815 1456724 132258...

result:

ok Everything ok

Test #19:

score: 0
Accepted
time: 11ms
memory: 4500kb

input:

10000
2 1
1 3
2 4
5 4
3 6
2 7
4 8
9 6
10 8
7 11
11 12
13 10
14 3
15 12
10 16
14 17
13 18
8 19
20 9
21 20
22 15
23 17
24 23
21 25
26 7
27 25
28 15
29 9
30 16
31 28
24 32
33 28
31 34
35 14
12 36
37 35
38 6
11 39
20 40
18 41
42 25
39 43
44 23
45 13
38 46
47 40
48 32
41 49
50 35
51 39
52 16
44 53
54 38
...

output:

1048576 524288 524288 262144 131072 262144 262144 131072 131072 65536 131072 65536 32768 262144 32768 32768 131072 16384 65536 65536 32768 16384 65536 32768 16384 131072 8192 16384 65536 16384 8192 16384 8192 4096 131072 32768 65536 131072 65536 32768 8192 8192 32768 32768 16384 65536 16384 8192 409...

result:

ok Everything ok

Test #20:

score: 0
Accepted
time: 12ms
memory: 4800kb

input:

10000
1 2
3 1
4 3
5 3
6 2
6 7
8 6
4 9
9 10
10 11
12 9
4 13
2 14
15 10
5 16
17 15
18 15
11 19
20 18
21 11
12 22
23 8
18 24
20 25
26 16
26 27
28 23
25 29
30 5
20 31
32 8
30 33
34 22
13 35
36 12
24 37
21 38
17 39
40 34
26 41
41 42
43 42
37 44
45 7
44 46
47 36
34 48
37 49
50 48
24 51
52 13
53 41
49 54
2...

output:

1048576 524288 524288 262144 262144 262144 131072 131072 131072 65536 32768 65536 131072 262144 32768 131072 16384 16384 16384 8192 16384 32768 65536 8192 4096 65536 32768 32768 2048 131072 4096 65536 65536 16384 65536 32768 4096 8192 8192 8192 32768 16384 8192 2048 65536 1024 16384 8192 2048 4096 4...

result:

ok Everything ok

Test #21:

score: 0
Accepted
time: 374ms
memory: 32920kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #22:

score: 0
Accepted
time: 301ms
memory: 33244kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #23:

score: 0
Accepted
time: 273ms
memory: 32860kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #24:

score: 0
Accepted
time: 289ms
memory: 32856kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #25:

score: 0
Accepted
time: 281ms
memory: 33032kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #26:

score: 0
Accepted
time: 286ms
memory: 32964kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #27:

score: 0
Accepted
time: 279ms
memory: 32964kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #28:

score: 0
Accepted
time: 283ms
memory: 33036kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #29:

score: 0
Accepted
time: 309ms
memory: 32840kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #30:

score: 0
Accepted
time: 283ms
memory: 67900kb

input:

300000
1 2
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
21 20
22 21
23 22
24 23
25 24
26 25
27 26
28 27
29 28
30 29
31 30
32 31
33 32
34 33
35 34
36 35
37 36
38 37
39 38
40 39
41 40
42 41
43 42
44 43
45 44
46 45
47 46
48 47
49 48
50 49
51 50
52 51
53 5...

output:

1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 999 999 1000 999 999 999 999 999 999 1000 999 999 999 1000 1000 999 999 1000 1000 999 999 1000 1000 999 999 999 1000 1000 999 1000 999 1000 999 999 999 999 1000 999 999 999 1000 1000 1000 1000 999 999 999 1000 1000 999 1000 999 9...

result:

ok Everything ok

Test #31:

score: 0
Accepted
time: 594ms
memory: 32684kb

input:

300000
1 2
3 2
1 4
4 5
2 6
5 7
8 5
9 8
9 10
11 9
12 7
3 13
14 6
7 15
12 16
12 17
18 10
6 19
8 20
19 21
22 17
17 23
24 20
25 23
26 10
27 14
28 18
29 16
30 21
27 31
32 29
23 33
34 27
26 35
36 22
37 36
33 38
39 20
36 40
41 26
37 42
43 34
41 44
18 45
38 46
47 13
40 48
49 42
43 50
24 51
52 44
35 53
38 54...

output:

1048576 524288 262144 524288 262144 262144 131072 131072 65536 32768 32768 65536 131072 131072 65536 32768 32768 16384 131072 65536 65536 16384 16384 32768 8192 16384 65536 8192 16384 32768 32768 8192 8192 32768 8192 8192 4096 4096 32768 4096 8192 2048 16384 4096 8192 2048 65536 2048 1024 8192 16384...

result:

ok Everything ok

Test #32:

score: 0
Accepted
time: 288ms
memory: 67528kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #33:

score: 0
Accepted
time: 286ms
memory: 67392kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #34:

score: 0
Accepted
time: 290ms
memory: 67384kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #35:

score: 0
Accepted
time: 277ms
memory: 67396kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Test #36:

score: 0
Accepted
time: 274ms
memory: 67336kb

input:

300000
2 1
3 1
4 2
5 2
6 3
7 3
8 4
9 4
10 5
11 5
12 6
13 6
14 7
15 7
16 8
17 8
18 9
19 9
20 10
21 10
22 11
23 11
24 12
25 12
26 13
27 13
28 14
29 14
30 15
31 15
32 16
33 16
34 17
35 17
36 18
37 18
38 19
39 19
40 20
41 20
42 21
43 21
44 22
45 22
46 23
47 23
48 24
49 24
50 25
51 25
52 26
53 26
54 27
5...

output:

1048576 524288 524288 262144 262144 262144 262144 131072 131072 131072 131072 131072 131072 131072 131072 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 65536 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32...

result:

ok Everything ok

Extra Test:

score: 0
Extra Test Passed