QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#584638#8818. Colorful Graph 3OOBMABTRAMSAC ✓116ms19596kbC++203.3kb2024-09-23 15:59:272024-09-23 15:59:27

Judging History

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

  • [2024-09-23 15:59:27]
  • 评测
  • 测评结果:AC
  • 用时:116ms
  • 内存:19596kb
  • [2024-09-23 15:59:27]
  • 提交

answer

//致敬传奇构造大神kilo5723
#include <bits/stdc++.h>
using namespace std;
const char el = '\n';
typedef long long ll;
const int inf = 1e9;
struct edge {
  int u, v, w;
};
bool addcycle(vector<edge> &res, int &m, int n, vector<int> &a) {
  if (m == n) return false;
  int k = res.size();
  for (int i = 0; i < a.size() && m <= n; i++)
    res.push_back({m, m + 1, a[i]}), m++;
  res[k].u = res.back().v = 1, m--;
  return true;
}
bool calccycle(int &res, int &m, int n, vector<int> &a) {
  if (m == n) return false;
  for (int i = 0; i < a.size() && m <= n; i++) res++, m++;
  m--;
  return true;
}
int calc(int n, int k, vector<int> &d0, vector<int> &d1, vector<int> &d) {
  int res = 0;
  int cur = k - k * (k - 1) / 2;
  for (auto v : d1)
    for (int i = 0; i < k && cur < n; i++)
      for (int j = i + 1; j < k && cur < n; j++) res++, cur++;
  for (auto v : d0)
    for (int i = 1; i < k && cur < n; i++)
      for (int j = i + 1; j < k && cur < n; j++) res++, cur++;
  while (cur < n) calccycle(res, cur, n, d);
  return res;
}
vector<edge> solve(int n, int k, vector<int> &d0, vector<int> &d1,
                   vector<int> &d) {
  vector e(k, vector(k, vector<int>()));
  int cur = k - k * (k - 1) / 2;
  for (auto v : d1)
    for (int i = 0; i < k && cur < n; i++)
      for (int j = i + 1; j < k && cur < n; j++) e[i][j].push_back(v), cur++;
  for (auto v : d0)
    for (int i = 1; i < k && cur < n; i++)
      for (int j = i + 1; j < k && cur < n; j++) e[i][j].push_back(v), cur++;
  vector<edge> res;
  while (cur < n) addcycle(res, cur, n, d);
  cur = k;
  for (int i = 0; i < k; i++)
    for (int j = i + 1; j < k; j++) {
      int t = res.size();
      for (auto v : e[i][j]) res.push_back({cur, cur + 1, v}), cur++;
      res[t].u = i + 1, res.back().v = j + 1, cur--;
    }
  return res;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout << setprecision(15);
  int tt;
  cin >> tt;
  while (tt--) {
    int n, k;
    cin >> n >> k;
    vector<int> a(k);
    for (auto &v : a) cin >> v;
    // exist ck >= 2
    bool flg = false;
    for (int i = 0; i < k; i++)
      if (a[i] > 1) {
        flg = true;
        cout << n - 1 << el;
        for (int j = 2; j <= n; j++) cout << 1 << ' ' << j << ' ' << i + 1 << el;
        break;
      }
    if (flg) continue;
    vector<int> d0, d1;
    for (int i = 0; i < k; i++) (a[i] ? d1 : d0).push_back(i);
    // |ck = 1| >= n-1
    if (d1.size() >= n - 1) {
      cout << n - 1 << el;
      for (int i = 1; i < n; i++)
        cout << i << ' ' << n << ' ' << d1[i - 1] + 1 << el;
      continue;
    }
    vector<edge> ans;
    vector<int> d = d0;
    for (int i = 0; i < 3; i++) d.insert(d.end(), d1.begin(), d1.end());
    int cur = 1;
    addcycle(ans, cur, n, d);
    d.resize(d0.size() + d1.size());
    while (cur < n) addcycle(ans, cur, n, d);
    // enumerate size of complete graph
    vector<int> tmp;
    for (int i = 2; i * (i - 1) / 2 <= 2 * n; i++) tmp.push_back(i);
    reverse(tmp.begin(), tmp.end());
    if (d1.size())
      for (auto i : tmp) {
        if (calc(n, i, d0, d1, d) < ans.size()) ans = solve(n, i, d0, d1, d);
      }
    cout << ans.size() << el;
    for (auto [u, v, w] : ans) cout << u << ' ' << v << ' ' << w + 1 << el;
  }
  return 0;
}

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

详细

Test #1:

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

input:

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

output:

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

result:

ok orz (3 test cases)

Test #2:

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

input:

4645
2 2
0 0
2 2
0 1
2 2
1 1
3 2
0 0
3 2
0 1
3 2
1 1
3 3
0 0 0
3 3
1 0 0
3 3
1 0 1
3 3
1 1 1
4 2
0 0
4 2
1 0
4 2
1 1
4 3
0 0 0
4 3
0 0 1
4 3
0 1 1
4 3
1 1 1
4 4
0 0 0 0
4 4
0 1 0 0
4 4
1 1 0 0
4 4
1 1 1 0
4 4
1 1 1 1
5 2
0 0
5 2
1 0
5 2
1 1
5 3
0 0 0
5 3
0 1 0
5 3
1 1 0
5 3
1 1 1
5 4
0 0 0 0
5 4
0 1...

output:

2
1 2 1
2 1 2
1
1 2 2
1
1 2 1
4
1 2 1
2 1 2
1 3 1
3 1 2
3
1 2 1
2 3 2
3 1 2
2
1 3 1
2 3 2
3
1 2 1
2 3 2
3 1 3
3
1 2 2
2 3 3
3 1 1
2
1 3 1
2 3 3
2
1 3 1
2 3 2
6
1 2 1
2 1 2
1 3 1
3 1 2
1 4 1
4 1 2
4
1 2 2
2 3 1
3 4 1
4 1 1
4
1 2 1
2 3 2
3 4 1
4 1 2
5
1 2 1
2 3 2
3 1 3
1 4 1
4 1 2
4
1 2 1
2 3 2
3 4 3
...

result:

ok orz (4645 test cases)

Test #3:

score: 0
Accepted
time: 18ms
memory: 3640kb

input:

2379
56 2
1 1
56 2
0 1
56 2
0 0
55 12
1 1 1 1 1 1 1 1 1 1 1 1
55 12
1 0 1 1 1 1 1 1 1 1 1 1
55 12
0 1 1 1 0 1 1 1 1 1 1 1
55 12
0 1 1 1 1 1 1 1 0 1 0 1
55 12
0 1 0 1 0 1 1 1 1 1 1 0
55 12
1 0 1 0 0 0 1 0 1 1 1 1
55 12
0 0 1 1 0 0 1 0 1 1 1 0
55 12
0 0 0 1 0 1 0 1 1 1 0 0
55 12
0 1 1 0 0 0 0 1 1 0 0 ...

output:

92
1 56 1
56 1 2
1 11 1
11 2 2
1 12 1
12 3 2
1 13 1
13 4 2
1 14 1
14 5 2
1 15 1
15 6 2
1 16 1
16 7 2
1 17 1
17 8 2
1 18 1
18 9 2
1 19 1
19 10 2
2 20 1
20 3 2
2 21 1
21 4 2
2 22 1
22 5 2
2 23 1
23 6 2
2 24 1
24 7 2
2 25 1
25 8 2
2 26 1
26 9 2
2 27 1
27 10 2
3 28 1
28 4 2
3 29 1
29 5 2
3 30 1
30 6 2
3...

result:

ok orz (2379 test cases)

Test #4:

score: 0
Accepted
time: 18ms
memory: 3604kb

input:

1244
73 3
1 1 1
87 3
1 1 1
60 4
1 1 0 0
72 4
0 1 1 1
84 4
0 0 0 0
100 2
1 1
64 2
1 0
81 3
1 1 1
101 6
1 1 0 1 0 0
66 6
1 0 1 1 0 1
59 2
1 1
68 6
1 1 0 0 0 0
87 6
1 1 1 1 1 1
105 4
0 1 0 0
104 3
1 1 1
94 6
1 1 0 0 0 1
91 5
1 1 1 1 1
63 3
1 0 0
100 5
0 0 0 0 0
70 4
1 1 1 1
61 5
0 0 0 0 1
104 2
0 1
94 ...

output:

98
1 65 1
65 66 2
66 1 3
1 67 1
67 68 2
68 1 3
1 69 1
69 70 2
70 1 3
1 71 1
71 72 2
72 1 3
1 73 1
73 1 2
1 9 1
9 10 2
10 2 3
1 11 1
11 12 2
12 3 3
1 13 1
13 14 2
14 4 3
1 15 1
15 16 2
16 5 3
1 17 1
17 18 2
18 6 3
1 19 1
19 20 2
20 7 3
1 21 1
21 22 2
22 8 3
2 23 1
23 24 2
24 3 3
2 25 1
25 26 2
26 4 3...

result:

ok orz (1244 test cases)

Test #5:

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

input:

739
105 2
0 0
105 2
1 0
105 2
1 1
105 3
0 0 0
105 3
0 0 1
105 3
0 1 1
105 3
1 1 1
105 4
0 0 0 0
105 4
0 1 0 0
105 4
0 1 1 0
105 4
1 0 1 1
105 4
1 1 1 1
106 2
0 0
106 2
0 1
106 2
1 1
106 3
0 0 0
106 3
1 0 0
106 3
0 1 1
106 3
1 1 1
106 4
0 0 0 0
106 4
0 0 0 1
106 4
1 0 1 0
106 4
0 1 1 1
106 4
1 1 1 1
...

output:

208
1 2 1
2 1 2
1 3 1
3 1 2
1 4 1
4 1 2
1 5 1
5 1 2
1 6 1
6 1 2
1 7 1
7 1 2
1 8 1
8 1 2
1 9 1
9 1 2
1 10 1
10 1 2
1 11 1
11 1 2
1 12 1
12 1 2
1 13 1
13 1 2
1 14 1
14 1 2
1 15 1
15 1 2
1 16 1
16 1 2
1 17 1
17 1 2
1 18 1
18 1 2
1 19 1
19 1 2
1 20 1
20 1 2
1 21 1
21 1 2
1 22 1
22 1 2
1 23 1
23 1 2
1 24...

result:

ok orz (739 test cases)

Test #6:

score: 0
Accepted
time: 27ms
memory: 3636kb

input:

495
237 3
0 1 0
237 3
0 0 0
237 2
1 1
237 2
0 1
237 2
0 0
236 3
1 1 1
236 3
0 1 1
236 3
0 1 0
236 3
0 0 0
236 2
1 1
236 2
0 1
236 2
0 0
235 3
1 1 1
235 3
1 0 1
235 3
1 0 0
235 3
0 0 0
235 2
1 1
235 2
0 1
235 2
0 0
234 3
1 1 1
234 3
0 1 1
234 3
1 0 0
234 3
0 0 0
234 2
1 1
234 2
0 1
234 2
0 0
233 3
1 ...

output:

347
1 227 1
227 228 3
228 1 2
1 229 1
229 230 3
230 1 2
1 231 1
231 232 3
232 1 2
1 233 1
233 234 3
234 1 2
1 235 1
235 236 3
236 1 2
1 237 1
237 1 3
1 2 2
1 3 2
1 4 2
1 5 2
1 6 2
1 7 2
1 8 2
1 9 2
1 10 2
1 11 2
1 12 2
1 13 2
1 14 2
1 15 2
1 16 2
2 17 2
17 18 1
18 3 3
2 19 2
19 20 1
20 4 3
2 21 2
21...

result:

ok orz (495 test cases)

Test #7:

score: 0
Accepted
time: 32ms
memory: 3956kb

input:

339
259 2
1 1
270 2
1 0
348 2
0 0
336 2
0 1
275 2
1 1
279 2
0 1
340 2
1 1
283 2
0 0
292 2
0 0
327 2
1 1
316 2
0 0
328 2
0 0
244 2
1 1
302 2
0 0
264 2
0 0
291 2
1 1
266 2
0 1
320 2
0 1
317 2
1 0
336 2
0 0
310 2
0 0
240 2
0 0
345 2
0 0
292 2
1 1
267 2
1 1
340 2
1 0
291 2
0 1
312 2
1 1
269 2
1 1
278 2
...

output:

474
1 254 1
254 1 2
1 255 1
255 1 2
1 256 1
256 1 2
1 257 1
257 1 2
1 258 1
258 1 2
1 259 1
259 1 2
1 23 1
23 2 2
1 24 1
24 3 2
1 25 1
25 4 2
1 26 1
26 5 2
1 27 1
27 6 2
1 28 1
28 7 2
1 29 1
29 8 2
1 30 1
30 9 2
1 31 1
31 10 2
1 32 1
32 11 2
1 33 1
33 12 2
1 34 1
34 13 2
1 35 1
35 14 2
1 36 1
36 15 ...

result:

ok orz (339 test cases)

Test #8:

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

input:

15
5529 5529
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

output:

5529
1 2 1
2 3 2
3 4 3
4 5 4
5 6 5
6 7 6
7 8 7
8 9 8
9 10 9
10 11 10
11 12 11
12 13 12
13 14 13
14 15 14
15 16 15
16 17 16
17 18 17
18 19 18
19 20 19
20 21 20
21 22 21
22 23 22
23 24 23
24 25 24
25 26 25
26 27 26
27 28 27
28 29 28
29 30 29
30 31 30
31 32 31
32 33 32
33 34 33
34 35 34
35 36 35
36 37 ...

result:

ok orz (15 test cases)

Test #9:

score: 0
Accepted
time: 13ms
memory: 3956kb

input:

35
2838 6
1 1 1 1 1 1
1516 73
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1974 7
1 1 1 1 1 1 1
2499 4
1 1 1 1
1520 4
1 1 1 1
2235 224
1 1 1 1 1 1 1 1 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:

3365
1 35 1
35 36 2
36 37 3
37 38 4
38 39 5
39 2 6
1 40 1
40 41 2
41 42 3
42 43 4
43 44 5
44 3 6
1 45 1
45 46 2
46 47 3
47 48 4
48 49 5
49 4 6
1 50 1
50 51 2
51 52 3
52 53 4
53 54 5
54 5 6
1 55 1
55 56 2
56 57 3
57 58 4
58 59 5
59 6 6
1 60 1
60 61 2
61 62 3
62 63 4
63 64 5
64 7 6
1 65 1
65 66 2
66 6...

result:

ok orz (35 test cases)

Test #10:

score: 0
Accepted
time: 21ms
memory: 4096kb

input:

15
5017 4
1 1 1 1
5456 100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4186 4
1 1 1 1
6624 23
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3667...

output:

6612
1 59 1
59 60 2
60 61 3
61 2 4
1 62 1
62 63 2
63 64 3
64 3 4
1 65 1
65 66 2
66 67 3
67 4 4
1 68 1
68 69 2
69 70 3
70 5 4
1 71 1
71 72 2
72 73 3
73 6 4
1 74 1
74 75 2
75 76 3
76 7 4
1 77 1
77 78 2
78 79 3
79 8 4
1 80 1
80 81 2
81 82 3
82 9 4
1 83 1
83 84 2
84 85 3
85 10 4
1 86 1
86 87 2
87 88 3
8...

result:

ok orz (15 test cases)

Test #11:

score: 0
Accepted
time: 16ms
memory: 3944kb

input:

35
2094 90
1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1
1931 82
1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1...

output:

2114
1 9 1
9 10 5
10 11 10
11 12 13
12 13 16
13 14 20
14 15 25
15 16 29
16 17 31
17 18 33
18 19 38
19 20 39
20 21 42
21 22 44
22 23 46
23 24 47
24 25 50
25 26 51
26 27 54
27 28 55
28 29 57
29 30 62
30 31 63
31 32 67
32 33 68
33 34 73
34 35 77
35 36 80
36 37 81
37 38 83
38 39 84
39 2 90
1 40 1
40 41 ...

result:

ok orz (35 test cases)

Test #12:

score: 0
Accepted
time: 21ms
memory: 3984kb

input:

15
3844 3
0 1 0
4674 27
1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1
5623 91
0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0
4276 340
0 1 0 1 1 0 0 1 1 1 1 1...

output:

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

result:

ok orz (15 test cases)

Test #13:

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

input:

35
2003 92
1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0
2282 24
0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1
1490 29
0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1...

output:

2023
1 9 1
9 10 3
10 11 10
11 12 16
12 13 20
13 14 22
14 15 24
15 16 29
16 17 30
17 18 35
18 19 38
19 20 40
20 21 41
21 22 42
22 23 51
23 24 56
24 25 61
25 26 62
26 27 64
27 28 69
28 29 72
29 30 73
30 31 74
31 32 75
32 33 77
33 34 78
34 35 79
35 36 81
36 37 82
37 2 84
1 38 1
38 39 3
39 40 10
40 41 1...

result:

ok orz (35 test cases)

Test #14:

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

input:

15
5107 312
0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 ...

output:

5120
1 4172 1
4172 4173 3
4173 4174 7
4174 4175 14
4175 4176 16
4176 4177 32
4177 4178 33
4178 4179 35
4179 4180 37
4180 4181 39
4181 4182 40
4182 4183 41
4183 4184 44
4184 4185 45
4185 4186 47
4186 4187 49
4187 4188 50
4188 4189 51
4189 4190 60
4190 4191 61
4191 4192 65
4192 4193 67
4193 4194 68
41...

result:

ok orz (15 test cases)

Test #15:

score: 0
Accepted
time: 19ms
memory: 3592kb

input:

1000
64 5
1 0 1 1 1
25 4
0 0 0 0
53 11
0 0 1 1 1 1 0 1 1 1 0
69 10
0 0 0 0 0 0 1 1 0 0
23 3
1 1 0
103 13
0 1 1 1 0 0 1 0 1 1 0 0 0
104 7
0 0 0 0 0 0 0
72 9
0 0 0 0 0 1 0 0 1
144 12
1 0 1 1 1 0 1 1 0 1 0 0
23 6
0 1 1 0 0 0
137 14
0 0 1 0 0 0 0 0 0 1 1 0 0 0
56 9
1 1 0 1 1 1 1 0 1
52 7
0 0 0 0 0 0 0
3...

output:

74
1 62 2
62 63 1
63 64 3
64 1 4
1 7 1
7 8 3
8 9 4
9 2 5
1 10 1
10 11 3
11 12 4
12 3 5
1 13 1
13 14 3
14 15 4
15 4 5
1 16 1
16 17 3
17 18 4
18 5 5
1 19 1
19 20 3
20 21 4
21 6 5
2 22 1
22 23 3
23 24 4
24 25 5
25 3 2
2 26 1
26 27 3
27 28 4
28 29 5
29 4 2
2 30 1
30 31 3
31 32 4
32 33 5
33 5 2
2 34 1
34...

result:

ok orz (1000 test cases)

Test #16:

score: 0
Accepted
time: 19ms
memory: 3752kb

input:

300
259 9
0 0 0 0 1 0 0 1 0
68 11
1 0 1 1 1 1 1 0 1 0 1
52 9
1 0 0 1 1 0 0 1 0
339 25
1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 0 0
871 34
1 0 0 1 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 1
152 8
0 1 1 0 0 1 0 1
199 7
1 1 1 1 1 1 1
74 9
1 1 0 0 0 1 1 1 0
258 30
0 0 1 0 0 1 1 1 0...

output:

289
1 242 1
242 243 2
243 244 3
244 245 4
245 246 6
246 247 7
247 248 9
248 249 5
249 1 8
1 250 1
250 251 2
251 252 3
252 253 4
253 254 6
254 255 7
255 256 9
256 257 5
257 1 8
1 258 1
258 259 2
259 1 3
1 10 5
10 2 8
1 11 5
11 3 8
1 12 5
12 4 8
1 13 5
13 5 8
1 14 5
14 6 8
1 15 5
15 7 8
1 16 5
16 8 8
...

result:

ok orz (300 test cases)

Test #17:

score: 0
Accepted
time: 17ms
memory: 3984kb

input:

100
1046 22
1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0
153 18
1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0
1068 30
0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1
326 20
1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1
927 28
0 1 1 1 0 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1
2382 56
1 1 1 1 0 0 1 1...

output:

1091
1 1037 2
1037 1038 3
1038 1039 5
1039 1040 6
1040 1041 7
1041 1042 8
1042 1043 13
1043 1044 15
1044 1045 16
1045 1046 18
1046 1 19
1 12 1
12 13 4
13 14 9
14 15 10
15 16 11
16 17 12
17 18 14
18 19 17
19 2 20
1 20 1
20 21 4
21 22 9
22 23 10
23 24 11
24 25 12
25 26 14
26 27 17
27 3 20
1 28 1
28 29...

result:

ok orz (100 test cases)

Test #18:

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

input:

50
1661 20
0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 1
1602 45
0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1
124 7
0 1 0 1 1 1 1
2537 19
0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1
4030 93
1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0...

output:

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

result:

ok orz (50 test cases)

Test #19:

score: 0
Accepted
time: 23ms
memory: 3828kb

input:

20
7855 37
1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1
4327 92
0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1
4125 64
1 1 1 1 1 1 1 0...

output:

8058
1 7362 2
7362 7363 6
7363 7364 9
7364 7365 19
7365 7366 21
7366 7367 26
7367 7368 27
7368 7369 28
7369 7370 30
7370 7371 34
7371 7372 36
7372 7373 1
7373 7374 3
7374 7375 4
7375 7376 5
7376 7377 7
7377 7378 8
7378 7379 10
7379 7380 11
7380 7381 12
7381 7382 13
7382 7383 14
7383 7384 15
7384 738...

result:

ok orz (20 test cases)

Test #20:

score: 0
Accepted
time: 33ms
memory: 4516kb

input:

10
1446 13
1 0 1 0 0 0 0 0 0 0 0 0 0
19759 95
0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0
13321 134
0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 ...

output:

1563
1 1292 2
1292 1293 4
1293 1294 5
1294 1295 6
1295 1296 7
1296 1297 8
1297 1298 9
1298 1299 10
1299 1300 11
1300 1301 12
1301 1302 13
1302 1303 1
1303 1 3
1 1304 2
1304 1305 4
1305 1306 5
1306 1307 6
1307 1308 7
1308 1309 8
1309 1310 9
1310 1311 10
1311 1312 11
1312 1313 12
1313 1314 13
1314 131...

result:

ok orz (10 test cases)

Test #21:

score: 0
Accepted
time: 34ms
memory: 5652kb

input:

3
41501 278
0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 ...

output:

41643
1 39731 1
39731 39732 2
39732 39733 4
39733 39734 7
39734 39735 11
39735 39736 12
39736 39737 14
39737 39738 15
39738 39739 16
39739 39740 17
39740 39741 18
39741 39742 20
39742 39743 21
39743 39744 22
39744 39745 23
39745 39746 26
39746 39747 28
39747 39748 29
39748 39749 30
39749 39750 32
39...

result:

ok orz (3 test cases)

Test #22:

score: 0
Accepted
time: 18ms
memory: 6388kb

input:

1
100000 2
0 0

output:

199998
1 2 1
2 1 2
1 3 1
3 1 2
1 4 1
4 1 2
1 5 1
5 1 2
1 6 1
6 1 2
1 7 1
7 1 2
1 8 1
8 1 2
1 9 1
9 1 2
1 10 1
10 1 2
1 11 1
11 1 2
1 12 1
12 1 2
1 13 1
13 1 2
1 14 1
14 1 2
1 15 1
15 1 2
1 16 1
16 1 2
1 17 1
17 1 2
1 18 1
18 1 2
1 19 1
19 1 2
1 20 1
20 1 2
1 21 1
21 1 2
1 22 1
22 1 2
1 23 1
23 1 2
1...

result:

ok orz (1 test case)

Test #23:

score: 0
Accepted
time: 110ms
memory: 18808kb

input:

1
100000 2
0 1

output:

199552
1 99683 1
99683 1 2
1 99684 1
99684 1 2
1 99685 1
99685 1 2
1 99686 1
99686 1 2
1 99687 1
99687 1 2
1 99688 1
99688 1 2
1 99689 1
99689 1 2
1 99690 1
99690 1 2
1 99691 1
99691 1 2
1 99692 1
99692 1 2
1 99693 1
99693 1 2
1 99694 1
99694 1 2
1 99695 1
99695 1 2
1 99696 1
99696 1 2
1 99697 1
996...

result:

ok orz (1 test case)

Test #24:

score: 0
Accepted
time: 116ms
memory: 19596kb

input:

1
100000 2
1 1

output:

199108
1 99682 1
99682 1 2
1 99683 1
99683 1 2
1 99684 1
99684 1 2
1 99685 1
99685 1 2
1 99686 1
99686 1 2
1 99687 1
99687 1 2
1 99688 1
99688 1 2
1 99689 1
99689 1 2
1 99690 1
99690 1 2
1 99691 1
99691 1 2
1 99692 1
99692 1 2
1 99693 1
99693 1 2
1 99694 1
99694 1 2
1 99695 1
99695 1 2
1 99696 1
996...

result:

ok orz (1 test case)

Test #25:

score: 0
Accepted
time: 10ms
memory: 3624kb

input:

1
100000 2
0 2

output:

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

result:

ok orz (1 test case)

Test #26:

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

input:

1
100000 100000
100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 1000...

output:

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

result:

ok orz (1 test case)

Extra Test:

score: 0
Extra Test Passed