QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#876569#9685. nim 游戏Xiaohuba72 462ms24360kbC++268.2kb2025-01-31 00:15:082025-01-31 00:15:09

Judging History

This is the latest submission verdict.

  • [2025-02-04 16:58:40]
  • hack成功,自动添加数据
  • (/hack/1512)
  • [2025-02-04 16:53:34]
  • hack成功,自动添加数据
  • (/hack/1511)
  • [2025-02-04 16:22:40]
  • hack成功,自动添加数据
  • (/hack/1508)
  • [2025-02-04 16:16:12]
  • hack成功,自动添加数据
  • (/hack/1505)
  • [2025-01-31 00:15:09]
  • Judged
  • Verdict: 72
  • Time: 462ms
  • Memory: 24360kb
  • [2025-01-31 00:15:08]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

// #define LOCK_GETCHAR
// #define USE_INT_128

#if __cplusplus < 201400
#warning "Please use c++14 or higher."
#define CONSTEXPR_FUNC
#define ENABLE_IF_INT
#else
#define CONSTEXPR_FUNC constexpr
#define ENABLE_IF_INT , enable_if_t<_is_integer<T>, int> = 0
template <class T> constexpr bool _is_integer = numeric_limits<T>::is_integer;
template <> constexpr bool _is_integer<bool> = false;
template <> constexpr bool _is_integer<char> = false;
#ifdef USE_INT_128
template <> constexpr bool _is_integer<__int128> = true;
template <> constexpr bool _is_integer<__uint128_t> = true;
#endif
#endif

#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(LOCK_GETCHAR)
#define getchar getchar_unlocked
#endif

#define il inline
#define mkp make_pair
#define fi first
#define se second
#define ssz(x) (signed((x).size()))
#define _loop_i_t(j, k) make_signed_t<decltype((j) - (k))>
#define For(i, j, k) for (_loop_i_t(j, k) i = (j); i <= (k); ++i) // NOLINT
#define ForDown(i, j, k)                                                       \
  for (_loop_i_t(j, k) i = (j); i >= decltype(i)(k); --i) // NOLINT
#define eb emplace_back
#ifndef ONLINE_JUDGE
#define FileIO(filename)                                                       \
  freopen(filename ".in", "r", stdin);                                         \
  freopen(filename ".out", "w", stdout)
#else
#define FileIO(filename) void(0)
#endif

using ll = long long;
using uint = unsigned int;
using ull = unsigned long long;
using db = double;
using ldb = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
#ifdef USE_INT_128
using lll = __int128_t;
using ulll = __uint128_t;
#endif

// clang-format off
CONSTEXPR_FUNC il ll qpow(ll x, ull y, ll mod){ ll ans = 1; x %= mod; while (y) { if (y & 1) (ans *= x) %= mod; (x *= x) %= mod; y >>= 1; } return ans; }
template<typename T> CONSTEXPR_FUNC il void cmin(T & x, const T &y){ x = min(x, y); }
template<typename T> CONSTEXPR_FUNC il void cmax(T & x, const T &y){ x = max(x, y); }
template<typename T ENABLE_IF_INT> il void read(T &x){ x = 0; int f = 1; int c = getchar(); while (!isdigit(c)) { if (c == '-') f = -1; c = getchar(); } while (isdigit(c)) { x = x * 10 + (c - '0'); c = getchar(); } x *= f; }
template<typename T, typename ... Args> il void read(T &x, Args &... y){ read(x), read(y...); }
// clang-format on

// File head end

namespace {
constexpr ll MAXN = 1e5 + 5;
int c, T, n, m;
ll a[MAXN], b[MAXN];
vector<int> id[61], oper;
vector<vector<pair<int, ll>>> sol;
ll ans;
bool vis[MAXN];
ll getMin(int x, ll val) {
  ll cost = 0;
  vector<tuple<int, ll, bool>> upd;
  // cerr << "getMin " << val << ' ' << x << '\n';
  ForDown(i, x, 0) if (val >> i & 1) {
    ll msk = (1ll << i) - 1;
    int p = 0;
    for (int j : id[i])
      if (!vis[j]) {
        p = j;
        break;
      }
    if (!p)
      assert(!oper.empty()), p = oper[0];
    assert(!(b[p] >> i & 1));
    ll dlt = msk + 1 - (b[p] & msk);
    val ^= b[p] ^ (b[p] + dlt);
    upd.eb(p, dlt, vis[p]), b[p] += dlt, cost += dlt, vis[p] = 1;
    // cerr << "G " << x << ' ' << i << ' ' << val << ' ' << dlt << '\n';
  }
  reverse(upd.begin(), upd.end());
  for (auto [x, y, z] : upd)
    b[x] -= y, vis[x] = z;
  return cost;
}
void dfs(int x, ll cur_cost, ll val) {
  if (x == -1) {
    auto qwq = oper;
    // cerr << ssz(oper) << '\n';
    sol.eb(ssz(qwq));
    For(i, 0, ssz(qwq) - 1) sol.back()[i] = {qwq[i], b[qwq[i]] - a[qwq[i]]};
    if (ssz(sol) >= m)
      throw 1;
    return;
  }
  if (!(val >> x & 1))
    return dfs(x - 1, cur_cost, val);
  bool ok = 1;
  ll msk = (1ll << x) - 1;
  for (int u : id[x])
    if (!vis[u]) {
      assert(!(b[u] >> x & 1));
      ll dlt = msk + 1 - (b[u] & msk);
      ll nv = val ^ b[u] ^ (b[u] + dlt);
      b[u] += dlt, vis[u] = 1;
      oper.eb(u);
      ll min_cost = cur_cost + dlt + getMin(x - 1, nv);
      // cerr << "+ " << x << ' ' << u << '\n';
      if (min_cost == ans)
        dfs(x - 1, cur_cost + dlt, nv);
      // cerr << "- " << x << ' ' << u << '\n';
      oper.pop_back(), b[u] -= dlt, vis[u] = 0;
      if (min_cost != ans) {
        ok = 0;
        break;
      }
    }
  if (ok) {
    auto qwq = oper;
    for (int u : qwq) {
      assert(!(b[u] >> x & 1));
      ll dlt = msk + 1 - (b[u] & msk);
      ll nv = val ^ b[u] ^ (b[u] + dlt);
      b[u] += dlt;
      ll min_cost = cur_cost + dlt + getMin(x - 1, nv);
      if (min_cost == ans) {
        dfs(x - 1, cur_cost + dlt, nv);
      } else {
        b[u] -= dlt, ok = 0;
        break;
      }
      b[u] -= dlt;
    }
  }
}
void Main() {
  read(c, T);
  while (T--) {
    read(n, m);
    sol.clear(), oper.clear(), memset(vis, 0, (n + 1));
    ll val = 0;
    ans = LLONG_MAX;
    For(i, 1, n) read(a[i]), val ^= a[i];
    For(i, 0, 60) {
      ll msk = (1ll << i) - 1;
      id[i].clear();
      For(j, 1, n) if (!(a[j] >> i & 1)) id[i].eb(j);
      sort(id[i].begin(), id[i].end(),
           [&](int x, int y) { return (a[x] & msk) > (a[y] & msk); });
    }
    auto solve = [&]() {
      ll cost = 0;
      ForDown(i, 59, 0) if (val >> i & 1) {
        pair<ll, int> minv = {LLONG_MAX, 0};
        ll msk = (1ll << i) - 1;
        For(j, 1, n) if (!(b[j] >> i & 1)) {
          cmin(minv, mkp(msk + 1 - (b[j] & msk), j));
        }
        assert(minv.se);
        cost += minv.fi;
        val ^= b[minv.se];
        b[minv.se] += minv.fi;
        val ^= b[minv.se];
      }
      return cost;
    };

    int flg = 0;
    ForDown(i, 59, 0) {
      if (val >> i & 1) {
        bool o = 1;
        For(j, 1, n) o &= a[j] >> i & 1;
        if (!o)
          break;
        For(j, i + 1, 60) {
          pair<ll, int> v1 = {LLONG_MAX, 0}, v2 = {LLONG_MAX, 0};
          ll msk2 = (1ll << j) - 1;
          For(k, 1, n) if (!(a[k] >> j & 1)) {
            auto cur = mkp(msk2 + 1 - (a[k] & msk2), k);
            if (cur <= v1)
              v2 = v1, v1 = cur;
            else
              cmin(v2, cur);
          }
          if (v1.se && v2.se) {
            copy(a + 1, a + 1 + n, b + 1);
            ll bak = val;
            assert(b[v1.se] == a[v1.se]);
            assert(b[v2.se] == a[v2.se]);
            val ^= b[v1.se] ^ b[v2.se];
            b[v1.se] += v1.fi, b[v2.se] += v2.fi;
            val ^= b[v1.se] ^ b[v2.se];
            cmin(ans, solve() + v1.fi + v2.fi);
            val = bak;
          }
        }
        flg = i;
        break;
      }
    }
    if (!flg) {
      ll val0 = val;
      copy(a + 1, a + 1 + n, b + 1), ans = solve();
      copy(a + 1, a + 1 + n, b + 1);
      try {
        dfs(59, 0, val0);
      } catch (int err) {
        assert(err == 1);
      }
    } else {
      // cerr << "!!!\n";
      copy(a + 1, a + 1 + n, b + 1);
      try {
        For(i, flg + 1, 60) {
          ll msk = (1ll << i) - 1;
          if (ssz(id[i]) < 2)
            continue;
          For(p, 0, ssz(id[i]) - 1) {
            int u = id[i][p];
            ll val1 = val, dlt = msk + 1 - (b[u] & msk);
            val1 ^= b[u] ^ (b[u] + dlt), b[u] += dlt, vis[u] = 1, oper.eb(u);
            For(q, p + 1, ssz(id[i]) - 1) {
              int v = id[i][q];
              ll dlt2 = msk + 1 - (b[v] & msk);
              val1 ^= b[v] ^ (b[v] + dlt2), b[v] += dlt2, vis[v] = 1,
                                                          oper.eb(v);
              ll cur = dlt + dlt2 + getMin(i - 1, val1);
              if (cur == ans)
                dfs(i - 1, dlt + dlt2, val1);
              oper.pop_back(), vis[v] = 0, b[v] -= dlt2,
                               val1 ^= b[v] ^ (b[v] + dlt2);
              if (cur != ans)
                break;
            }
            oper.pop_back(), vis[u] = 0, b[u] -= dlt;
          }
        }
      } catch (int err) {
        assert(err == 1);
      }
    }
    cout << ans << '\n' << ssz(sol) << '\n';
    for (auto &vec : sol) {
      cout << ssz(vec) << '\n';
      sort(vec.begin(), vec.end());
      for (auto [x, _] : vec)
        cout << x << ' ';
      cout << '\n';
      for (auto [_, y] : vec)
        cout << y << ' ';
      cout << '\n';
    }
  }
}
} // namespace

signed main() { return Main(), 0; }

详细

Subtask #1:

score: 4
Accepted

Test #1:

score: 4
Accepted
time: 219ms
memory: 3712kb

input:

1 10000
2 1
324097321 555675086
2 1
304655177 991244276
2 1
9980291 383616352
2 1
1071036550 795625380
2 1
682098056 68370721
2 1
969101726 685975156
2 1
973896269 354857775
2 1
196188000 606494155
2 1
754416123 467588829
2 1
495704303 558090120
2 1
618002000 491488050
2 1
741575237 9937018
2 1
1002...

output:

231577765
1
1
1 
231577765 
686589099
1
1
1 
686589099 
373636061
1
1
1 
373636061 
275411170
1
1
2 
275411170 
613727335
1
1
2 
613727335 
283126570
1
1
2 
283126570 
619038494
1
1
2 
619038494 
410306155
1
1
1 
410306155 
286827294
1
1
2 
286827294 
62385817
1
1
1 
62385817 
126513950
1
1
2 
12651...

result:

ok correct answer

Subtask #2:

score: 12
Accepted

Test #2:

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

input:

2 5
5 2000
0 13 3 4 10
5 2000
0 3 9 1 11
5 2000
0 13 7 3 5
5 2000
0 1 13 9 2
5 2000
0 8 14 7 13

output:

0
1
0


0
1
0


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

result:

ok correct answer

Test #3:

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

input:

2 5
5 2000
0 4 14 5 7
5 2000
0 2 15 0 12
5 2000
0 1 14 0 5
5 2000
0 13 4 12 3
5 2000
0 10 10 1 11

output:

6
2
3
1 4 5 
4 1 1 
2
4 5 
1 5 
1
4
1
1 
1 
1
2 
1 
1
4 
1 
1
5 
1 
8
8
3
1 2 5 
2 3 3 
3
2 4 5 
3 2 3 
2
2 5 
3 5 
2
2 5 
5 3 
3
1 2 5 
4 1 3 
3
2 4 5 
1 4 3 
2
2 5 
1 7 
2
2 5 
7 1 
2
4
2
1 5 
1 1 
2
3 5 
1 1 
2
4 5 
1 1 
1
5 
2 
10
13
3
1 2 4 
2 1 7 
3
1 3 4 
2 1 7 
2
1 4 
2 8 
2
1 4 
3 7 
2
1 4 ...

result:

ok correct answer

Test #4:

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

input:

2 5
5 2000
0 6 15 10 1
5 2000
0 15 0 13 10
5 2000
0 5 7 5 1
5 2000
0 13 3 2 15
5 2000
0 2 4 7 0

output:

2
5
2
1 5 
1 1 
2
2 5 
1 1 
2
4 5 
1 1 
1
5 
2 
1
1 
2 
8
2
1
1 
8 
1
3 
8 
4
2
2
2 5 
1 3 
2
4 5 
1 3 
1
1
1
2 
1 
1
4
1
1 
1 
1
2 
1 
1
3 
1 
1
5 
1 

result:

ok correct answer

Subtask #3:

score: 12
Accepted

Dependency #2:

100%
Accepted

Test #5:

score: 12
Accepted
time: 2ms
memory: 3968kb

input:

3 5
6 2000
0 45 517 811 107 132
6 2000
0 382 576 805 419 579
6 2000
0 379 809 441 331 67
6 2000
0 565 776 959 852 383
6 2000
0 613 383 829 47 441

output:

146
20
5
1 2 3 4 6 
1 19 1 1 124 
4
2 3 4 6 
19 1 1 125 
4
2 3 4 6 
20 1 1 124 
4
2 3 4 6 
19 1 2 124 
4
2 3 4 6 
19 2 1 124 
4
1 2 4 6 
2 19 1 124 
3
2 4 6 
19 1 126 
3
2 4 6 
21 1 124 
3
2 4 6 
19 3 124 
5
1 2 3 5 6 
1 19 1 1 124 
4
2 3 5 6 
19 1 1 125 
4
2 3 5 6 
20 1 1 124 
4
2 3 5 6 
19 1 2 124...

result:

ok correct answer

Test #6:

score: 12
Accepted
time: 1ms
memory: 3712kb

input:

3 5
6 2000
0 75 173 555 637 905
6 2000
0 934 118 906 367 728
6 2000
0 244 321 598 625 469
6 2000
0 573 489 24 480 459
6 2000
0 424 356 750 623 871

output:

557
483
5
1 2 3 5 6 
8 53 342 131 23 
5
1 2 3 5 6 
8 53 341 132 23 
5
1 2 3 5 6 
8 54 341 131 23 
5
1 2 3 5 6 
8 53 341 131 24 
5
1 2 3 5 6 
9 53 341 131 23 
5
1 2 3 5 6 
8 53 340 133 23 
5
1 2 3 5 6 
8 53 339 134 23 
5
1 2 3 5 6 
8 54 339 133 23 
5
1 2 3 5 6 
8 53 339 133 24 
5
1 2 3 5 6 
9 53 339 ...

result:

ok correct answer

Test #7:

score: 12
Accepted
time: 2ms
memory: 3968kb

input:

3 5
6 2000
0 886 972 226 813 407
6 2000
0 219 190 742 101 572
6 2000
0 590 423 516 1017 46
6 2000
0 388 807 207 205 647
6 2000
0 408 180 238 300 694

output:

176
25
5
1 2 4 5 6 
8 10 30 19 109 
5
1 2 4 5 6 
8 10 34 19 105 
5
1 2 4 5 6 
8 14 30 19 105 
5
1 2 4 5 6 
8 10 30 23 105 
5
1 2 4 5 6 
12 10 30 19 105 
5
1 2 4 5 6 
4 10 30 19 113 
4
2 4 5 6 
10 30 19 117 
4
2 4 5 6 
10 34 19 113 
4
2 4 5 6 
14 30 19 113 
4
2 4 5 6 
10 30 23 113 
5
1 2 4 5 6 
4 10 ...

result:

ok correct answer

Subtask #4:

score: 0
Runtime Error

Test #8:

score: 0
Runtime Error

input:

4 257
100000 100
32768 65536 262144 32768 8388608 1048576 4 67108864 16384 32768 262144 8192 512 134217728 65536 4194304 262144 67108864 1024 262144 64 32 65536 2097152 268435456 1 2048 4194304 16777216 8 16384 2 2048 16777216 268435456 262144 1048576 8388608 16 268435456 2 128 4194304 262144 32768 ...

output:

303389274
100
13
2969 7812 19013 20900 22780 23323 47707 66185 72794 75007 82825 96252 98412 
16 1048576 8 2 2048 33554432 65536 268435456 262144 64 16384 512 4096 
13
2969 7812 19013 22780 23323 47707 54137 66185 72794 75007 82825 96252 98412 
16 1048576 8 2048 33554432 65536 2 268435456 262144 64 ...

result:


Subtask #5:

score: 12
Accepted

Test #18:

score: 12
Accepted
time: 403ms
memory: 3712kb

input:

5 10000
10 1
0 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823
10 1
0 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823
10 1
0 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741...

output:

1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 
...

result:

ok correct answer

Test #19:

score: 12
Accepted
time: 451ms
memory: 23208kb

input:

5 2323
100000 1
0 3170633 888529329 347839787 101667249 273239696 1028446182 411994109 710973319 298677951 299452068 519308796 361451040 488605068 74238166 997794448 478367019 532094220 747266199 217905213 682359917 774814810 234838947 456387659 38459020 434013070 633290806 173828476 94076883 568288...

output:

11962
1
15
5529 8448 16611 22938 33798 35551 38129 47454 49541 58413 77917 78515 88140 90198 91315 
19 54 1 1 8212 1 139 1 2165 1 1 1364 1 1 1 
1607036
1
11
4 6 7 12 15 16 22 26 28 29 36 
65471 32512 6 520064 978944 6136 3836 4 60 2 1 
106
1
3
1 2 3 
32 29 45 
3
1
2
1 2 
1 2 
126
1
5
1 3 5 9 10 
1 1...

result:

ok correct answer

Test #20:

score: 12
Accepted
time: 462ms
memory: 24360kb

input:

5 2205
100000 1
0 684191025 220215685 982495864 602362406 687396179 439432236 81065680 398068897 269754402 306183653 309939439 664994998 1011962742 338161922 629593565 926305057 1026259775 711874360 69406110 426672919 208267066 551253027 9384823 26156203 778817402 654214308 527029151 1065024353 2870...

output:

22539
1
18
7587 8561 9642 11813 14681 18803 21599 21755 38540 38873 39551 41069 66449 85627 86392 89268 92825 94909 
1 1 18405 5 1 1 2826 1 14 846 1 1 1 1 1 404 28 1 
5296170
1
10
3 8 9 11 12 16 19 20 30 38 
2 1048320 64 4194240 30 6142 31744 15360 16 252 
2997548
1
3
3 4 5 
7998 1031664 1957886 
10...

result:

ok correct answer

Test #21:

score: 12
Accepted
time: 461ms
memory: 23148kb

input:

5 2166
100000 1
0 58930516 543560994 783997157 728082180 789115629 549794748 81818067 214839912 203394814 711969322 908524000 570262778 992867922 359455295 88035653 412186516 937931728 331800409 545354553 535440658 894562512 657466952 555070606 469471475 1055263866 874958292 76960239 478302168 68009...

output:

8241
1
16
66 7632 19253 26786 29190 29655 32070 33285 54258 55463 66513 68234 72809 80763 82425 95831 
63 1 1 5 7798 1 1 1 156 1 1 192 4 1 14 1 
2846999
1
4
1 2 4 5 
131072 103522 2049874 562531 
1605
1
6
1 2 6 8 12 23 
1 1 96 1023 480 4 
21150
1
4
1 2 3 5 
32 13220 4050 3848 
13
1
2
1 2 
4 9 
0
1
0...

result:

ok correct answer

Subtask #6:

score: 16
Accepted

Test #22:

score: 16
Accepted
time: 1ms
memory: 3968kb

input:

6 23
1000 10
0 357293452 452461848 986047039 546588280 762710079 767831017 39741545 416114273 515599366 1018969624 603342125 928112286 1053016142 240953466 533088067 1028134429 504727014 371307863 834428873 968387878 478550336 1047217797 1046651542 777749850 866989319 92995163 251915198 363285573 10...

output:

264227
10
12
134 203 355 565 651 656 673 786 876 955 996 999 
5 2638 9 531 1 1 1 697 251113 10 5226 3995 
12
134 203 355 565 651 673 692 786 876 955 996 999 
5 2638 9 531 1 1 1 697 251113 10 5226 3995 
12
134 203 355 565 651 673 688 786 876 955 996 999 
5 2638 9 531 1 1 1 697 251113 10 5226 3995 
12...

result:

ok correct answer

Test #23:

score: 16
Accepted
time: 2ms
memory: 3968kb

input:

6 23
1000 10
0 978686021 287986921 276311856 889616598 739968417 1060147652 463275477 172393699 591333230 983197307 235514434 330494755 449056272 882229818 781111474 275587745 980041928 334198691 305313012 415758352 947298893 950211162 909723054 961622596 917454340 161928901 404346316 369133631 1038...

output:

709905
10
15
32 206 279 283 406 482 656 677 727 785 842 904 917 977 978 
56 1 3862 6 1 12836 4 1 47 1 693086 1 1 1 1 
15
32 206 279 283 435 482 656 677 727 785 842 904 917 977 978 
56 1 3862 6 1 12836 4 1 47 1 693086 1 1 1 1 
15
32 206 279 283 482 656 677 727 770 785 842 904 917 977 978 
56 1 3862 6...

result:

ok correct answer

Test #24:

score: 16
Accepted
time: 2ms
memory: 3968kb

input:

6 15
1000 10
0 631723071 149784582 965844254 515554472 887253148 467825521 981769969 1054193550 627909969 590277818 159342752 658063143 667914173 169490051 25536270 337269419 1056885019 980490575 750858271 553446484 347553447 376197986 1053224035 473470890 123586 97769047 761755924 510998818 2560945...

output:

737485
10
15
172 265 287 384 474 542 553 574 599 625 747 790 831 880 924 
27 227 1 215546 2917 1 1 1 6 7 87404 1600 16 41649 388082 
15
172 265 287 384 474 553 574 587 599 625 747 790 831 880 924 
27 227 1 215546 2917 1 1 1 6 7 87404 1600 16 41649 388082 
15
172 265 287 384 474 553 574 577 599 625 7...

result:

ok correct answer

Test #25:

score: 16
Accepted
time: 2ms
memory: 3968kb

input:

6 25
1000 10
0 751950140 901599329 987895071 306253500 278530668 539473653 911723672 948474628 722632384 369217860 428703545 999113214 567923990 53499297 1013528916 263060554 669297221 349021033 832596533 893306880 892438572 345611286 331257977 488113061 578929864 881846255 320356815 76057168 704694...

output:

1119212
10
14
97 122 215 236 396 431 528 552 576 617 717 887 920 950 
7 5641 149775 107 1 6002 26620 674 1237 1 6239 922903 1 4 
14
97 122 215 236 396 424 431 528 552 576 717 887 920 950 
7 5641 149775 107 1 1 6002 26620 674 1237 6239 922903 1 4 
14
97 122 215 236 396 431 451 528 552 576 717 887 920...

result:

ok correct answer

Test #26:

score: 16
Accepted
time: 1ms
memory: 3712kb

input:

6 2
1000 1
0 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1...

output:

1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 

result:

ok correct answer

Subtask #7:

score: 16
Accepted

Dependency #3:

100%
Accepted

Dependency #5:

100%
Accepted

Dependency #6:

100%
Accepted

Test #27:

score: 16
Accepted
time: 378ms
memory: 23480kb

input:

7 195
100000 1000
0 828483622 617711013 242092397 1034026464 456205583 731635466 382894773 533786631 582730039 74863848 661821965 368857719 541353387 662605236 580923280 798012506 54823622 333416217 39292129 995195996 477140985 1014499425 362164396 970752859 879997855 96768859 1005365898 576674982 4...

output:

23456
1000
17
7223 7904 8651 12609 26970 27646 27720 33450 36223 40293 42303 47649 67002 70487 94288 94649 96808 
1743 1 3 20988 34 4 1 1 1 1 1 1 1 3 279 1 393 
17
7223 7904 8651 12609 26970 27646 27720 33450 40293 42303 47649 66379 67002 70487 94288 94649 96808 
1743 1 3 20988 34 4 1 1 1 1 1 1 1 3 ...

result:

ok correct answer

Test #28:

score: 16
Accepted
time: 373ms
memory: 23364kb

input:

7 228
100000 1000
0 230727359 951312015 741711018 367230626 775024687 130794976 435788836 781961691 736694220 427610697 1016199868 798240399 340962994 1006804448 708169239 976753368 364431996 495851435 246658001 190094424 1054346726 639713727 218794912 229693460 313349630 85091951 418997497 27345904...

output:

5906
1000
18
18000 24594 27090 31031 36690 49706 57375 58900 60712 61471 63184 64350 66702 67455 67985 94039 97479 97656 
1 1 1 2 71 1 2 1 11 1 28 1 1 3 4034 20 1071 656 
18
18000 24594 27090 31031 36690 49706 57375 58900 60712 61471 63184 64350 66676 67455 67985 94039 97479 97656 
1 1 1 2 71 1 2 1 ...

result:

ok correct answer

Test #29:

score: 16
Accepted
time: 363ms
memory: 23292kb

input:

7 221
100000 1000
0 716795222 632538294 1008333912 248043863 1023411987 11954597 917179098 100756831 19780613 336926235 768679016 371044675 360783184 402042708 1056697208 567354265 284551620 146863144 1008241012 536649321 680142584 506474136 80860918 973856876 30288601 668537691 877380398 131785980 ...

output:

13893
1000
15
5978 8817 12957 23097 25849 31013 39313 49780 55719 66304 66582 68169 72889 82418 94588 
1 307 22 1 1 10 1 2415 1 1 1 2 1 33 11096 
15
5978 8817 12957 23097 25849 31013 39313 49780 55719 66304 66549 68169 72889 82418 94588 
1 307 22 1 1 10 1 2415 1 1 1 2 1 33 11096 
15
5978 8817 12957 ...

result:

ok correct answer

Test #30:

score: 16
Accepted
time: 25ms
memory: 3712kb

input:

7 1000
3 10
0 729041606 776089922
3 10
0 73695624 783752411
3 10
0 820372959 215264354
3 10
0 919645823 161862972
3 10
0 416211733 881194269
3 10
0 275811209 281074929
3 10
0 582815620 342763006
3 10
0 922520113 399127881
3 10
0 299636294 328307001
3 10
0 666654277 503934330
3 10
0 2735358 732598564...

output:

47048316
10
2
1 2 
33554432 13493884 
2
1 2 
33554434 13493882 
2
1 2 
33554496 13493820 
2
1 2 
33554498 13493818 
2
1 2 
33554688 13493628 
2
1 2 
33554690 13493626 
2
1 2 
33554752 13493564 
2
1 2 
33554754 13493562 
2
1 2 
33558528 13489788 
2
1 2 
33558530 13489786 
710056787
10
2
1 2 
13421772...

result:

ok correct answer

Test #31:

score: 16
Accepted
time: 47ms
memory: 3712kb

input:

7 2000
3 5
0 3978360 573616453
3 5
0 547375641 97549509
3 5
0 710402134 567209414
3 5
0 712013879 1031360933
3 5
0 118351677 538884285
3 5
0 96665729 441728559
3 5
0 1021357084 735021028
3 5
0 882151625 958055123
3 5
0 521548745 517316479
3 5
0 162247430 426447555
3 5
0 423460219 408674001
3 5
0 247...

output:

569638093
5
2
1 2 
33554432 536083661 
2
1 2 
33554433 536083660 
2
1 2 
33554436 536083657 
2
1 2 
33554437 536083656 
2
1 2 
33554496 536083597 
449826132
5
2
1 3 
8388608 441437524 
2
1 3 
8388609 441437523 
2
1 3 
8388616 441437516 
2
1 3 
8388617 441437515 
2
1 3 
8388624 441437508 
143192720
5...

result:

ok correct answer

Test #32:

score: 16
Accepted
time: 24ms
memory: 3712kb

input:

7 1000
4 10
0 827032080 596299879 377757837
4 10
0 139678996 620475310 982977750
4 10
0 327504523 973136882 1056046317
4 10
0 703538140 645917988 869157682
4 10
0 453817111 255127787 753233051
4 10
0 503195344 905031432 746786602
4 10
0 615183881 988518844 555461556
4 10
0 932813811 356392410 858830...

output:

28167702
10
3
1 2 3 
8388608 11828720 7950374 
3
1 2 3 
8388608 11828721 7950373 
3
1 2 3 
8388609 11828720 7950373 
3
1 2 3 
8388608 11828724 7950370 
3
1 2 3 
8388608 11828725 7950369 
3
1 2 3 
8388609 11828724 7950369 
3
1 2 3 
8388612 11828720 7950370 
3
1 2 3 
8388612 11828721 7950369 
3
1 2 3 ...

result:

ok correct answer

Test #33:

score: 16
Accepted
time: 100ms
memory: 17452kb

input:

7 2
100000 1
0 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823 1073741823...

output:

1073741823
1
1
1 
1073741823 
1073741823
1
1
1 
1073741823 

result:

ok correct answer

Test #34:

score: 16
Accepted
time: 368ms
memory: 23348kb

input:

7 204
100000 1000
0 867143449 289720871 62880653 256495758 373546157 114942061 524281177 164218453 261500635 241690011 911469619 794136322 460604293 201667773 1001245336 873383805 136426866 731765422 1036091702 428463064 474020221 916532901 913755707 704796468 745115429 387268771 611877390 101588067...

output:

1241
1000
11
15233 17963 31953 47178 55333 65387 66676 66702 72308 79622 98425 
1 132 1 11 1 1 119 1 970 1 3 
11
15233 17963 31953 47178 55333 65387 66676 66681 72308 79622 98425 
1 132 1 11 1 1 119 1 970 1 3 
11
15233 17963 31953 47178 55333 65387 66676 66682 72308 79622 98425 
1 132 1 11 1 1 119 1...

result:

ok correct answer

Subtask #8:

score: 0
Skipped

Dependency #7:

100%
Accepted

Dependency #4:

0%

Subtask #9:

score: 0
Skipped

Dependency #8:

0%