QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#293368#7119. Longest Tripnhuang6855 12ms4180kbC++204.1kb2023-12-29 05:49:302024-04-28 09:18:47

Judging History

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

  • [2024-04-28 09:18:47]
  • 管理员手动重测本题所有提交记录
  • 测评结果:5
  • 用时:12ms
  • 内存:4180kb
  • [2023-12-29 05:49:32]
  • 评测
  • 测评结果:5
  • 用时:9ms
  • 内存:3940kb
  • [2023-12-29 05:49:30]
  • 提交

answer

/**
 * @file qoj7119.cpp
 * @author n685
 * @brief
 * @date 2023-12-27
 *
 *
 */
#include "longesttrip.h"
#include <bits/stdc++.h>

#ifdef LOCAL
#include "dd/debug.h"
#else
#define dbg(...) 42
#define dbgR(...) 4242
#define dbgP(...) 420
#define dbgRP(...) 420420
void nline() {}
#endif
std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count());

std::vector<int> longest_trip(int N, int D) {
  int n = N;
  std::vector<int> ind(n);
  std::iota(ind.begin(), ind.end(), 0);
  // std::shuffle(ind.begin(), ind.end(), rng);

  auto query = [&](std::vector<int> a, std::vector<int> b) {
    std::vector<int> A(a.size()), B(b.size());
    for (int i = 0; i < (int)a.size(); ++i) {
      A[i] = ind[a[i]];
    }
    for (int i = 0; i < (int)b.size(); ++i) {
      B[i] = ind[b[i]];
    }
    return are_connected(A, B);
  };

  std::vector<std::vector<int>> gr;
  for (int i = 0; i < n; ++i) {
    gr.push_back(std::vector{i});
  }
  auto merge = [&](auto &a, auto &b) {
    if ((int)a.size() < (int)b.size()) {
      std::swap(a, b);
    }
    std::reverse(a.begin(), a.end());
    for (int i : b) {
      a.push_back(i);
    }
    b.clear();
  };

  while ((int)gr.size() >= 4) {
    std::vector g{gr.back(), gr.end()[-2], gr.end()[-3], gr.end()[-4]};
    for (int i = 0; i < 4; ++i) {
      gr.pop_back();
    }
    if (query({g[0][0]}, {g[1][0]})) {
      merge(g[0], g[1]);
      if (query({g[2][0]}, {g[0][0]})) {
        merge(g[0], g[2]);
        gr.push_back(g[3]);
      } else if (query({g[3][0]}, {g[0][0]})) {
        merge(g[0], g[3]);
        gr.push_back(g[2]);
      } else {
        merge(g[2], g[3]);
        gr.push_back(g[2]);
      }
      gr.push_back(g[0]);
    } else if (query({g[0][0]}, {g[2][0]})) {
      merge(g[0], g[2]);
      if (query({g[0][0]}, {g[3][0]})) {
        merge(g[0], g[3]);
        gr.push_back(g[2]);
      } else {
        merge(g[1], g[3]);
        gr.push_back(g[1]);
      }
      gr.push_back(g[0]);
    } else {
      merge(g[1], g[2]);
      if (query({g[1][0]}, {g[3][0]})) {
        merge(g[1], g[3]);
        gr.push_back(g[0]);
      } else {
        merge(g[3], g[0]);
        gr.push_back(g[3]);
      }
      gr.push_back(g[1]);
    }
  }
  if ((int)gr.size() == 3) {
    auto ga = gr.back(), gb = gr.end()[-2], gc = gr.end()[-3];
    gr.pop_back(), gr.pop_back(), gr.pop_back();
    if (query({ga[0]}, {gb[0]})) {
      std::swap(ga, gc);
    } else if (query({ga[0]}, {gc[0]})) {
      std::swap(ga, gb);
    }
    merge(gb, gc);
    gr.push_back(ga);
    gr.push_back(gb);
  }
  // assert(gr.size() == 2 && !gr[0].empty() && !gr[1].empty());

  auto answer = [&](const std::vector<int> &seq) {
    std::vector<int> ans;
    for (int i : seq) {
      ans.push_back(ind[i]);
    }
    return ans;
  };
  if (!query(gr[0], gr[1])) {
    if ((int)gr[0].size() < (int)gr[1].size()) {
      std::swap(gr[0], gr[1]);
    }
    return answer(gr[0]);
  }

  int l1 = -1, l2 = -1;
  for (int i = 0; i < 2; ++i) {
    for (int j = 0; j < 2; ++j) {
      if (query({gr[0][0]}, {gr[1][0]})) {
        l1 = 0;
        l2 = 0;
        break;
      }
      std::reverse(gr[1].begin(), gr[1].end());
    }
    if (l1 == 0) {
      break;
    }
    std::reverse(gr[0].begin(), gr[0].end());
  }
  if (l1 != 0) {
    assert(l1 < 0);
    l1 = 0;
    int r1 = (int)gr[0].size() - 1;
    while (l1 < r1) {
      int mid = (l1 + r1) / 2;
      if (query(std::vector<int>(gr[0].begin(), gr[0].begin() + mid + 1),
                gr[1])) {
        r1 = mid;
      } else {
        l1 = mid + 1;
      }
    }
    l2 = 0;
    int r2 = (int)gr[1].size() - 1;
    while (l2 < r2) {
      int mid = (l2 + r2) / 2;
      if (query({gr[0][l1]},
                std::vector<int>(gr[1].begin(), gr[1].begin() + mid + 1))) {
        r2 = mid;
      } else {
        l2 = mid + 1;
      }
    }
  }

  std::rotate(gr[0].begin(), gr[0].begin() + l1, gr[0].end());
  std::rotate(gr[1].begin(), gr[1].begin() + l2, gr[1].end());
  merge(gr[0], gr[1]);
  return answer(gr[0]);
}

詳細信息

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 6ms
memory: 3820kb

input:

341
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
1
1
3 3
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1...

result:

ok 

Test #2:

score: 0
Accepted
time: 2ms
memory: 3784kb

input:

103
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1
10 3
1
1
1
1
1
1
1
1
1
1
1...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:

ok 

Test #3:

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

input:

22
50 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 49 48
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 47 49
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 48 46
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 45 47
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 46 44
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 43 45
3kC2Ia2048BfyJVGojMUKKtilctlZK...

result:

ok 

Test #4:

score: 0
Accepted
time: 6ms
memory: 3880kb

input:

8
128 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
128 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 127 126
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 125 127
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 126 124
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 123 125
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 124 122
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 121 123
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #5:

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

input:

4
256 3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 255 254
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 253 255
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 254 252
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 251 253
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 252 250
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 249 251
3kC2Ia2048BfyJVGoj...

result:

ok 

Subtask #2:

score: 0
Runtime Error

Test #6:

score: 10
Accepted
time: 4ms
memory: 3880kb

input:

341
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1...

result:

ok 

Test #7:

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

input:

103
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:

ok 

Test #8:

score: 0
Accepted
time: 4ms
memory: 3796kb

input:

22
50 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 49 48
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 47 49
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 48 46
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 45 47
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 46 44
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 43 45
3kC2Ia2048BfyJVGojMUKKtilctlZK...

result:

ok 

Test #9:

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

input:

8
128 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
128 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 127 126
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 125 127
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 126 124
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 123 125
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 124 122
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 121 123
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #10:

score: 0
Accepted
time: 4ms
memory: 4000kb

input:

4
256 2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 255 254
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 253 255
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 254 252
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 251 253
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 252 250
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 249 251
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #11:

score: 0
Accepted
time: 9ms
memory: 3824kb

input:

341
3 2
0
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
0
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
0
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
0
1
1
0
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
1
1
0
1
1
3 2
1
1
1
1
3 2
0
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2...

result:

ok 

Test #12:

score: -10
Runtime Error

input:

103
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
1
1
1
1
10 2
1
1
1
1
1
1
1
0
1
1
1
1
10 2
1
1
0
1
1

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:


Subtask #3:

score: 0
Runtime Error

Test #19:

score: 25
Accepted
time: 0ms
memory: 4068kb

input:

341
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1...

result:

ok 

Test #20:

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

input:

103
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:

ok 

Test #21:

score: 0
Accepted
time: 6ms
memory: 3832kb

input:

22
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 49 48
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 47 49
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 48 46
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 45 47
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 46 44
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 43 45
3kC2Ia2048BfyJVGojMUKKtilctlZK...

result:

ok 

Test #22:

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

input:

8
128 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
128 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 127 126
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 125 127
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 126 124
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 123 125
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 124 122
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 121 123
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #23:

score: 0
Accepted
time: 2ms
memory: 3996kb

input:

4
256 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 255 254
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 253 255
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 254 252
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 251 253
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 252 250
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 249 251
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #24:

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

input:

341
3 1
0
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
0
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
0
1
1
0
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
0
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2...

result:

ok 

Test #25:

score: -25
Runtime Error

input:

103
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
0
1
1
1
1
10 1
1
1
0
1
1

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:


Subtask #4:

score: 0
Runtime Error

Test #83:

score: 60
Accepted
time: 11ms
memory: 4076kb

input:

341
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 0 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1...

result:

ok 

Test #84:

score: 60
Accepted
time: 0ms
memory: 3880kb

input:

103
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result:

ok 

Test #85:

score: 60
Accepted
time: 7ms
memory: 4116kb

input:

22
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 49 48
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 47 49
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 48 46
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 45 47
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 46 44
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 43 45
3kC2Ia2048BfyJVGojMUKKtilctlZK...

result:

ok 

Test #86:

score: 60
Accepted
time: 0ms
memory: 4164kb

input:

8
128 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
128 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 127 126
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 125 127
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 126 124
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 123 125
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 124 122
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 121 123
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #87:

score: 60
Accepted
time: 3ms
memory: 3932kb

input:

4
256 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 255 254
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 253 255
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 254 252
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 251 253
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 252 250
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 249 251
3kC2Ia2048BfyJVGoj...

result:

ok 

Test #88:

score: 60
Accepted
time: 12ms
memory: 3880kb

input:

341
3 1
0
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
0
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
0
1
1
0
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
1
1
0
1
1
3 1
1
1
1
1
3 1
0
...

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 2 1 2 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 2
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 1 0
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
1 3 2 0 1
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 2...

result:

ok 

Test #89:

score: 0
Runtime Error

input:

103
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
1
1
1
1
10 1
1
1
1
1
1
1
1
0
1
1
1
1
10 1
1
1
0
1
1

output:

3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 9 8
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 7 9
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 8 6
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 5 7
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 6 4
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 3 5
3kC2Ia2048BfyJVGojMUKKtilctlZKcB
0 1 1 4 2...

result: