Submission #926571

# Submission time Handle Problem Language Result Execution time Memory
926571 2024-02-13T10:19:40 Z green_gold_dog Painting Walls (APIO20_paint) C++17
100 / 100
707 ms 32608 KB
//#pragma GCC optimize("Ofast")
//#pragma GCC target("avx,avx2,sse,sse2,sse3,ssse3,sse4,abm,popcnt,mmx")
#include <bits/stdc++.h>
#include "paint.h"

using namespace std;

typedef int ll;
typedef double db;
typedef long double ldb;
typedef complex<double> cd;

constexpr ll INF64 = 9'000'000'000'000'000'000, INF32 = 2'000'000'000, MOD = 1'000'000'007;
constexpr db PI = acos(-1);
constexpr bool IS_FILE = false, IS_TEST_CASES = false;

random_device rd;
mt19937 rnd32(rd());
mt19937_64 rnd64(rd());

template<typename T>
bool assign_max(T& a, T b) {
        if (b > a) {
                a = b;
                return true;
        }
        return false;
}

template<typename T>
bool assign_min(T& a, T b) {
        if (b < a) {
                a = b;
                return true;
        }
        return false;
}

template<typename T>
T square(T a) {
        return a * a;
}

template<>
struct std::hash<pair<ll, ll>> {
        ll operator() (pair<ll, ll> p) const {
                return ((__int128)p.first * MOD + p.second) % INF64;
        }
};

ll add(ll x, ll m) {
        x++;
        if (x == m) {
                x = 0;
        }
        return x;
}

ll sub(ll x, ll m) {
        x--;
        if (x == -1) {
                x = m - 1;
        }
        return x;
}

ll minimumInstructions(ll n, ll m, ll k, vector<ll> c, vector<ll> a, vector<vector<ll>> b) {
        vector<unordered_set<ll>> all(k);
        for (ll i = 0; i < m; i++) {
                for (auto j : b[i]) {
                        all[j].insert(i);
                }
        }
        vector<ll> col(m);
        for (ll i = 0; i < n; i++) {
                for (auto j : all[c[i]]) {
                        col[j]++;
                }
        }
        ll sum = col[0] + col.back(), now = 0, lst = m - 1;
        for (ll i = 1; i < m; i++) {
                if (assign_min(sum, col[i] + col[i - 1])) {
                        now = i;
                        lst = i - 1;
                }
        }
        vector<ll> cnow(n, 0), clst(n, 0);
        for (ll i = 0; i < n; i++) {
                ll nn = i, nx = now;
                while (nn < n && cnow[i] <= m) {
                        if (all[c[nn]].find(nx) == all[c[nn]].end()) {
                                break;
                        }
                        cnow[i]++;
                        nx = add(nx, m);
                        nn++;
                }
                nn = i;
                nx = lst;
                while (nn >= 0 && clst[i] <= m) {
                        if (all[c[nn]].find(nx) == all[c[nn]].end()) {
                                break;
                        }
                        clst[i]++;
                        nx = sub(nx, m);
                        nn--;
                }
        }
        vector<bool> cand(n, false);
        deque<ll> ta, td;
        for (ll i = 0; i < n; i++) {
                ll sum = cnow[i];
                ll st = i;
                if (i != 0) {
                        sum += clst[i - 1];
                        st -= clst[i - 1];
                }
                if (sum >= m) {
                        ta.push_back(st);
                        td.push_back(st + sum - m);
                }
        }
        ll ns = 0;
        sort(ta.begin(), ta.end());
        sort(td.begin(), td.end());
        for (ll i = 0; i < n; i++) {
                while (!ta.empty() && ta.front() == i) {
                        ns++;
                        ta.pop_front();
                }
                cand[i] = ns > 0;
                while (!td.empty() && td.front() == i) {
                        ns--;
                        td.pop_front();
                }
        }
        lst = 0;
        ll can = 0;
        ll ans = 0;
        while (can < n) {
                ll ncan = can;
                for (ll j = lst; j <= can; j++) {
                        if (cand[j]) {
                                assign_max(ncan, j + m);
                        }
                }
                lst = can + 1;
                if (ncan == can) {
                        return -1;
                }
                ans++;
                can = ncan;
        }
        return ans;
}

#ifdef LOCAL
int main() {
  int N, M, K;
  assert(3 == scanf("%d %d %d", &N, &M, &K));

  std::vector<int> C(N);
  for (int i = 0; i < N; ++i) {
    assert(1 == scanf("%d", &C[i]));
  }

  std::vector<int> A(M);
  std::vector<std::vector<int>> B(M);
  for (int i = 0; i < M; ++i) {
    assert(1 == scanf("%d", &A[i]));
    B[i].resize(A[i]);
    for (int j = 0; j < A[i]; ++j) {
      assert(1 == scanf("%d", &B[i][j]));
    }
  }

  int minimum_instructions = minimumInstructions(N, M, K, C, A, B);
  printf("%d\n", minimum_instructions);

  return 0;
}
#endif

Compilation message

paint.cpp:13:22: warning: overflow in conversion from 'long int' to 'll' {aka 'int'} changes value from '9000000000000000000' to '-494665728' [-Woverflow]
   13 | constexpr ll INF64 = 9'000'000'000'000'000'000, INF32 = 2'000'000'000, MOD = 1'000'000'007;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 600 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 3 ms 5980 KB Output is correct
14 Correct 2 ms 5980 KB Output is correct
15 Correct 3 ms 5976 KB Output is correct
16 Correct 2 ms 5980 KB Output is correct
17 Correct 2 ms 6232 KB Output is correct
18 Correct 2 ms 5980 KB Output is correct
19 Correct 2 ms 5980 KB Output is correct
20 Correct 3 ms 5980 KB Output is correct
21 Correct 3 ms 5980 KB Output is correct
22 Correct 42 ms 20808 KB Output is correct
23 Correct 33 ms 20824 KB Output is correct
24 Correct 34 ms 20564 KB Output is correct
25 Correct 3 ms 856 KB Output is correct
26 Correct 3 ms 720 KB Output is correct
27 Correct 4 ms 860 KB Output is correct
28 Correct 3 ms 604 KB Output is correct
29 Correct 3 ms 604 KB Output is correct
30 Correct 2 ms 604 KB Output is correct
31 Correct 9 ms 9564 KB Output is correct
32 Correct 11 ms 9464 KB Output is correct
33 Correct 9 ms 9564 KB Output is correct
34 Correct 10 ms 9504 KB Output is correct
35 Correct 10 ms 9564 KB Output is correct
36 Correct 10 ms 9564 KB Output is correct
37 Correct 42 ms 21844 KB Output is correct
38 Correct 39 ms 21852 KB Output is correct
39 Correct 48 ms 21852 KB Output is correct
40 Correct 12 ms 2648 KB Output is correct
41 Correct 7 ms 1884 KB Output is correct
42 Correct 12 ms 2508 KB Output is correct
43 Correct 7 ms 1628 KB Output is correct
44 Correct 6 ms 1368 KB Output is correct
45 Correct 9 ms 2140 KB Output is correct
46 Correct 57 ms 26232 KB Output is correct
47 Correct 31 ms 17492 KB Output is correct
48 Correct 34 ms 19796 KB Output is correct
49 Correct 59 ms 23376 KB Output is correct
50 Correct 63 ms 23684 KB Output is correct
51 Correct 37 ms 18764 KB Output is correct
52 Correct 13 ms 2904 KB Output is correct
53 Correct 13 ms 2836 KB Output is correct
54 Correct 12 ms 2396 KB Output is correct
55 Correct 10 ms 2320 KB Output is correct
56 Correct 10 ms 2140 KB Output is correct
57 Correct 9 ms 2140 KB Output is correct
58 Correct 74 ms 28756 KB Output is correct
59 Correct 116 ms 28652 KB Output is correct
60 Correct 70 ms 28764 KB Output is correct
61 Correct 69 ms 28892 KB Output is correct
62 Correct 66 ms 28752 KB Output is correct
63 Correct 68 ms 28756 KB Output is correct
64 Correct 86 ms 27988 KB Output is correct
65 Correct 68 ms 27940 KB Output is correct
66 Correct 66 ms 27988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 600 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 3 ms 5980 KB Output is correct
14 Correct 2 ms 5980 KB Output is correct
15 Correct 3 ms 5976 KB Output is correct
16 Correct 2 ms 5980 KB Output is correct
17 Correct 2 ms 6232 KB Output is correct
18 Correct 2 ms 5980 KB Output is correct
19 Correct 2 ms 5980 KB Output is correct
20 Correct 3 ms 5980 KB Output is correct
21 Correct 3 ms 5980 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 1 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 1 ms 348 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 0 ms 348 KB Output is correct
32 Correct 0 ms 348 KB Output is correct
33 Correct 2 ms 5212 KB Output is correct
34 Correct 2 ms 3932 KB Output is correct
35 Correct 1 ms 3420 KB Output is correct
36 Correct 3 ms 5724 KB Output is correct
37 Correct 2 ms 4700 KB Output is correct
38 Correct 2 ms 5212 KB Output is correct
39 Correct 0 ms 348 KB Output is correct
40 Correct 2 ms 4696 KB Output is correct
41 Correct 1 ms 348 KB Output is correct
42 Correct 2 ms 5724 KB Output is correct
43 Correct 2 ms 5468 KB Output is correct
44 Correct 1 ms 348 KB Output is correct
45 Correct 1 ms 344 KB Output is correct
46 Correct 0 ms 348 KB Output is correct
47 Correct 1 ms 348 KB Output is correct
48 Correct 0 ms 348 KB Output is correct
49 Correct 1 ms 348 KB Output is correct
50 Correct 2 ms 5980 KB Output is correct
51 Correct 2 ms 5980 KB Output is correct
52 Correct 2 ms 5980 KB Output is correct
53 Correct 2 ms 6232 KB Output is correct
54 Correct 3 ms 5980 KB Output is correct
55 Correct 2 ms 5980 KB Output is correct
56 Correct 2 ms 5980 KB Output is correct
57 Correct 1 ms 348 KB Output is correct
58 Correct 2 ms 5976 KB Output is correct
59 Correct 1 ms 344 KB Output is correct
60 Correct 2 ms 5980 KB Output is correct
61 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 1 ms 600 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 3 ms 5980 KB Output is correct
16 Correct 2 ms 5980 KB Output is correct
17 Correct 3 ms 5976 KB Output is correct
18 Correct 2 ms 5980 KB Output is correct
19 Correct 2 ms 6232 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 2 ms 5980 KB Output is correct
22 Correct 3 ms 5980 KB Output is correct
23 Correct 3 ms 5980 KB Output is correct
24 Correct 42 ms 20808 KB Output is correct
25 Correct 33 ms 20824 KB Output is correct
26 Correct 34 ms 20564 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Correct 1 ms 348 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 1 ms 348 KB Output is correct
32 Correct 0 ms 348 KB Output is correct
33 Correct 0 ms 348 KB Output is correct
34 Correct 0 ms 348 KB Output is correct
35 Correct 0 ms 348 KB Output is correct
36 Correct 2 ms 5212 KB Output is correct
37 Correct 2 ms 3932 KB Output is correct
38 Correct 1 ms 3420 KB Output is correct
39 Correct 3 ms 5724 KB Output is correct
40 Correct 2 ms 4700 KB Output is correct
41 Correct 2 ms 5212 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 2 ms 4696 KB Output is correct
44 Correct 1 ms 348 KB Output is correct
45 Correct 2 ms 5724 KB Output is correct
46 Correct 2 ms 5468 KB Output is correct
47 Correct 1 ms 348 KB Output is correct
48 Correct 1 ms 344 KB Output is correct
49 Correct 0 ms 348 KB Output is correct
50 Correct 1 ms 348 KB Output is correct
51 Correct 0 ms 348 KB Output is correct
52 Correct 1 ms 348 KB Output is correct
53 Correct 2 ms 5980 KB Output is correct
54 Correct 2 ms 5980 KB Output is correct
55 Correct 2 ms 5980 KB Output is correct
56 Correct 2 ms 6232 KB Output is correct
57 Correct 3 ms 5980 KB Output is correct
58 Correct 2 ms 5980 KB Output is correct
59 Correct 2 ms 5980 KB Output is correct
60 Correct 1 ms 348 KB Output is correct
61 Correct 2 ms 5976 KB Output is correct
62 Correct 1 ms 344 KB Output is correct
63 Correct 2 ms 5980 KB Output is correct
64 Correct 0 ms 348 KB Output is correct
65 Correct 1 ms 348 KB Output is correct
66 Correct 1 ms 348 KB Output is correct
67 Correct 1 ms 348 KB Output is correct
68 Correct 1 ms 348 KB Output is correct
69 Correct 1 ms 348 KB Output is correct
70 Correct 4 ms 5468 KB Output is correct
71 Correct 4 ms 4696 KB Output is correct
72 Correct 4 ms 4188 KB Output is correct
73 Correct 3 ms 4440 KB Output is correct
74 Correct 4 ms 5212 KB Output is correct
75 Correct 4 ms 6236 KB Output is correct
76 Correct 27 ms 14684 KB Output is correct
77 Correct 32 ms 17228 KB Output is correct
78 Correct 45 ms 19548 KB Output is correct
79 Correct 1 ms 344 KB Output is correct
80 Correct 1 ms 348 KB Output is correct
81 Correct 1 ms 504 KB Output is correct
82 Correct 1 ms 348 KB Output is correct
83 Correct 1 ms 348 KB Output is correct
84 Correct 5 ms 6492 KB Output is correct
85 Correct 5 ms 6456 KB Output is correct
86 Correct 5 ms 6492 KB Output is correct
87 Correct 6 ms 6636 KB Output is correct
88 Correct 6 ms 6488 KB Output is correct
89 Correct 6 ms 6492 KB Output is correct
90 Correct 46 ms 20564 KB Output is correct
91 Correct 43 ms 20564 KB Output is correct
92 Correct 54 ms 20720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 1 ms 600 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 3 ms 5980 KB Output is correct
16 Correct 2 ms 5980 KB Output is correct
17 Correct 3 ms 5976 KB Output is correct
18 Correct 2 ms 5980 KB Output is correct
19 Correct 2 ms 6232 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 2 ms 5980 KB Output is correct
22 Correct 3 ms 5980 KB Output is correct
23 Correct 3 ms 5980 KB Output is correct
24 Correct 42 ms 20808 KB Output is correct
25 Correct 33 ms 20824 KB Output is correct
26 Correct 34 ms 20564 KB Output is correct
27 Correct 3 ms 856 KB Output is correct
28 Correct 3 ms 720 KB Output is correct
29 Correct 4 ms 860 KB Output is correct
30 Correct 3 ms 604 KB Output is correct
31 Correct 3 ms 604 KB Output is correct
32 Correct 2 ms 604 KB Output is correct
33 Correct 9 ms 9564 KB Output is correct
34 Correct 11 ms 9464 KB Output is correct
35 Correct 9 ms 9564 KB Output is correct
36 Correct 10 ms 9504 KB Output is correct
37 Correct 10 ms 9564 KB Output is correct
38 Correct 10 ms 9564 KB Output is correct
39 Correct 42 ms 21844 KB Output is correct
40 Correct 39 ms 21852 KB Output is correct
41 Correct 48 ms 21852 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 0 ms 348 KB Output is correct
44 Correct 1 ms 348 KB Output is correct
45 Correct 0 ms 348 KB Output is correct
46 Correct 1 ms 348 KB Output is correct
47 Correct 0 ms 348 KB Output is correct
48 Correct 0 ms 348 KB Output is correct
49 Correct 0 ms 348 KB Output is correct
50 Correct 0 ms 348 KB Output is correct
51 Correct 2 ms 5212 KB Output is correct
52 Correct 2 ms 3932 KB Output is correct
53 Correct 1 ms 3420 KB Output is correct
54 Correct 3 ms 5724 KB Output is correct
55 Correct 2 ms 4700 KB Output is correct
56 Correct 2 ms 5212 KB Output is correct
57 Correct 0 ms 348 KB Output is correct
58 Correct 2 ms 4696 KB Output is correct
59 Correct 1 ms 348 KB Output is correct
60 Correct 2 ms 5724 KB Output is correct
61 Correct 2 ms 5468 KB Output is correct
62 Correct 1 ms 348 KB Output is correct
63 Correct 1 ms 344 KB Output is correct
64 Correct 0 ms 348 KB Output is correct
65 Correct 1 ms 348 KB Output is correct
66 Correct 0 ms 348 KB Output is correct
67 Correct 1 ms 348 KB Output is correct
68 Correct 2 ms 5980 KB Output is correct
69 Correct 2 ms 5980 KB Output is correct
70 Correct 2 ms 5980 KB Output is correct
71 Correct 2 ms 6232 KB Output is correct
72 Correct 3 ms 5980 KB Output is correct
73 Correct 2 ms 5980 KB Output is correct
74 Correct 2 ms 5980 KB Output is correct
75 Correct 1 ms 348 KB Output is correct
76 Correct 2 ms 5976 KB Output is correct
77 Correct 1 ms 344 KB Output is correct
78 Correct 2 ms 5980 KB Output is correct
79 Correct 0 ms 348 KB Output is correct
80 Correct 1 ms 348 KB Output is correct
81 Correct 1 ms 348 KB Output is correct
82 Correct 1 ms 348 KB Output is correct
83 Correct 1 ms 348 KB Output is correct
84 Correct 1 ms 348 KB Output is correct
85 Correct 4 ms 5468 KB Output is correct
86 Correct 4 ms 4696 KB Output is correct
87 Correct 4 ms 4188 KB Output is correct
88 Correct 3 ms 4440 KB Output is correct
89 Correct 4 ms 5212 KB Output is correct
90 Correct 4 ms 6236 KB Output is correct
91 Correct 27 ms 14684 KB Output is correct
92 Correct 32 ms 17228 KB Output is correct
93 Correct 45 ms 19548 KB Output is correct
94 Correct 1 ms 344 KB Output is correct
95 Correct 1 ms 348 KB Output is correct
96 Correct 1 ms 504 KB Output is correct
97 Correct 1 ms 348 KB Output is correct
98 Correct 1 ms 348 KB Output is correct
99 Correct 5 ms 6492 KB Output is correct
100 Correct 5 ms 6456 KB Output is correct
101 Correct 5 ms 6492 KB Output is correct
102 Correct 6 ms 6636 KB Output is correct
103 Correct 6 ms 6488 KB Output is correct
104 Correct 6 ms 6492 KB Output is correct
105 Correct 46 ms 20564 KB Output is correct
106 Correct 43 ms 20564 KB Output is correct
107 Correct 54 ms 20720 KB Output is correct
108 Correct 4 ms 860 KB Output is correct
109 Correct 95 ms 800 KB Output is correct
110 Correct 9 ms 788 KB Output is correct
111 Correct 8 ms 604 KB Output is correct
112 Correct 10 ms 860 KB Output is correct
113 Correct 8 ms 604 KB Output is correct
114 Correct 14 ms 9676 KB Output is correct
115 Correct 15 ms 9304 KB Output is correct
116 Correct 19 ms 11860 KB Output is correct
117 Correct 18 ms 8024 KB Output is correct
118 Correct 22 ms 9868 KB Output is correct
119 Correct 13 ms 9564 KB Output is correct
120 Correct 27 ms 13612 KB Output is correct
121 Correct 5 ms 2652 KB Output is correct
122 Correct 28 ms 14420 KB Output is correct
123 Correct 5 ms 2652 KB Output is correct
124 Correct 46 ms 17500 KB Output is correct
125 Correct 11 ms 3844 KB Output is correct
126 Correct 11 ms 6432 KB Output is correct
127 Correct 10 ms 8540 KB Output is correct
128 Correct 10 ms 7260 KB Output is correct
129 Correct 7 ms 5980 KB Output is correct
130 Correct 3 ms 860 KB Output is correct
131 Correct 129 ms 856 KB Output is correct
132 Correct 16 ms 856 KB Output is correct
133 Correct 23 ms 796 KB Output is correct
134 Correct 17 ms 820 KB Output is correct
135 Correct 16 ms 860 KB Output is correct
136 Correct 23 ms 12124 KB Output is correct
137 Correct 36 ms 12316 KB Output is correct
138 Correct 23 ms 12124 KB Output is correct
139 Correct 23 ms 12124 KB Output is correct
140 Correct 23 ms 12260 KB Output is correct
141 Correct 22 ms 12124 KB Output is correct
142 Correct 61 ms 22096 KB Output is correct
143 Correct 8 ms 4188 KB Output is correct
144 Correct 59 ms 22100 KB Output is correct
145 Correct 8 ms 4188 KB Output is correct
146 Correct 55 ms 22096 KB Output is correct
147 Correct 8 ms 4184 KB Output is correct
148 Correct 13 ms 10076 KB Output is correct
149 Correct 12 ms 9820 KB Output is correct
150 Correct 12 ms 9816 KB Output is correct
151 Correct 12 ms 9816 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 1 ms 600 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 3 ms 5980 KB Output is correct
16 Correct 2 ms 5980 KB Output is correct
17 Correct 3 ms 5976 KB Output is correct
18 Correct 2 ms 5980 KB Output is correct
19 Correct 2 ms 6232 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 2 ms 5980 KB Output is correct
22 Correct 3 ms 5980 KB Output is correct
23 Correct 3 ms 5980 KB Output is correct
24 Correct 42 ms 20808 KB Output is correct
25 Correct 33 ms 20824 KB Output is correct
26 Correct 34 ms 20564 KB Output is correct
27 Correct 3 ms 856 KB Output is correct
28 Correct 3 ms 720 KB Output is correct
29 Correct 4 ms 860 KB Output is correct
30 Correct 3 ms 604 KB Output is correct
31 Correct 3 ms 604 KB Output is correct
32 Correct 2 ms 604 KB Output is correct
33 Correct 9 ms 9564 KB Output is correct
34 Correct 11 ms 9464 KB Output is correct
35 Correct 9 ms 9564 KB Output is correct
36 Correct 10 ms 9504 KB Output is correct
37 Correct 10 ms 9564 KB Output is correct
38 Correct 10 ms 9564 KB Output is correct
39 Correct 42 ms 21844 KB Output is correct
40 Correct 39 ms 21852 KB Output is correct
41 Correct 48 ms 21852 KB Output is correct
42 Correct 12 ms 2648 KB Output is correct
43 Correct 7 ms 1884 KB Output is correct
44 Correct 12 ms 2508 KB Output is correct
45 Correct 7 ms 1628 KB Output is correct
46 Correct 6 ms 1368 KB Output is correct
47 Correct 9 ms 2140 KB Output is correct
48 Correct 57 ms 26232 KB Output is correct
49 Correct 31 ms 17492 KB Output is correct
50 Correct 34 ms 19796 KB Output is correct
51 Correct 59 ms 23376 KB Output is correct
52 Correct 63 ms 23684 KB Output is correct
53 Correct 37 ms 18764 KB Output is correct
54 Correct 13 ms 2904 KB Output is correct
55 Correct 13 ms 2836 KB Output is correct
56 Correct 12 ms 2396 KB Output is correct
57 Correct 10 ms 2320 KB Output is correct
58 Correct 10 ms 2140 KB Output is correct
59 Correct 9 ms 2140 KB Output is correct
60 Correct 74 ms 28756 KB Output is correct
61 Correct 116 ms 28652 KB Output is correct
62 Correct 70 ms 28764 KB Output is correct
63 Correct 69 ms 28892 KB Output is correct
64 Correct 66 ms 28752 KB Output is correct
65 Correct 68 ms 28756 KB Output is correct
66 Correct 86 ms 27988 KB Output is correct
67 Correct 68 ms 27940 KB Output is correct
68 Correct 66 ms 27988 KB Output is correct
69 Correct 0 ms 348 KB Output is correct
70 Correct 0 ms 348 KB Output is correct
71 Correct 1 ms 348 KB Output is correct
72 Correct 0 ms 348 KB Output is correct
73 Correct 1 ms 348 KB Output is correct
74 Correct 0 ms 348 KB Output is correct
75 Correct 0 ms 348 KB Output is correct
76 Correct 0 ms 348 KB Output is correct
77 Correct 0 ms 348 KB Output is correct
78 Correct 2 ms 5212 KB Output is correct
79 Correct 2 ms 3932 KB Output is correct
80 Correct 1 ms 3420 KB Output is correct
81 Correct 3 ms 5724 KB Output is correct
82 Correct 2 ms 4700 KB Output is correct
83 Correct 2 ms 5212 KB Output is correct
84 Correct 0 ms 348 KB Output is correct
85 Correct 2 ms 4696 KB Output is correct
86 Correct 1 ms 348 KB Output is correct
87 Correct 2 ms 5724 KB Output is correct
88 Correct 2 ms 5468 KB Output is correct
89 Correct 1 ms 348 KB Output is correct
90 Correct 1 ms 344 KB Output is correct
91 Correct 0 ms 348 KB Output is correct
92 Correct 1 ms 348 KB Output is correct
93 Correct 0 ms 348 KB Output is correct
94 Correct 1 ms 348 KB Output is correct
95 Correct 2 ms 5980 KB Output is correct
96 Correct 2 ms 5980 KB Output is correct
97 Correct 2 ms 5980 KB Output is correct
98 Correct 2 ms 6232 KB Output is correct
99 Correct 3 ms 5980 KB Output is correct
100 Correct 2 ms 5980 KB Output is correct
101 Correct 2 ms 5980 KB Output is correct
102 Correct 1 ms 348 KB Output is correct
103 Correct 2 ms 5976 KB Output is correct
104 Correct 1 ms 344 KB Output is correct
105 Correct 2 ms 5980 KB Output is correct
106 Correct 0 ms 348 KB Output is correct
107 Correct 1 ms 348 KB Output is correct
108 Correct 1 ms 348 KB Output is correct
109 Correct 1 ms 348 KB Output is correct
110 Correct 1 ms 348 KB Output is correct
111 Correct 1 ms 348 KB Output is correct
112 Correct 4 ms 5468 KB Output is correct
113 Correct 4 ms 4696 KB Output is correct
114 Correct 4 ms 4188 KB Output is correct
115 Correct 3 ms 4440 KB Output is correct
116 Correct 4 ms 5212 KB Output is correct
117 Correct 4 ms 6236 KB Output is correct
118 Correct 27 ms 14684 KB Output is correct
119 Correct 32 ms 17228 KB Output is correct
120 Correct 45 ms 19548 KB Output is correct
121 Correct 1 ms 344 KB Output is correct
122 Correct 1 ms 348 KB Output is correct
123 Correct 1 ms 504 KB Output is correct
124 Correct 1 ms 348 KB Output is correct
125 Correct 1 ms 348 KB Output is correct
126 Correct 5 ms 6492 KB Output is correct
127 Correct 5 ms 6456 KB Output is correct
128 Correct 5 ms 6492 KB Output is correct
129 Correct 6 ms 6636 KB Output is correct
130 Correct 6 ms 6488 KB Output is correct
131 Correct 6 ms 6492 KB Output is correct
132 Correct 46 ms 20564 KB Output is correct
133 Correct 43 ms 20564 KB Output is correct
134 Correct 54 ms 20720 KB Output is correct
135 Correct 4 ms 860 KB Output is correct
136 Correct 95 ms 800 KB Output is correct
137 Correct 9 ms 788 KB Output is correct
138 Correct 8 ms 604 KB Output is correct
139 Correct 10 ms 860 KB Output is correct
140 Correct 8 ms 604 KB Output is correct
141 Correct 14 ms 9676 KB Output is correct
142 Correct 15 ms 9304 KB Output is correct
143 Correct 19 ms 11860 KB Output is correct
144 Correct 18 ms 8024 KB Output is correct
145 Correct 22 ms 9868 KB Output is correct
146 Correct 13 ms 9564 KB Output is correct
147 Correct 27 ms 13612 KB Output is correct
148 Correct 5 ms 2652 KB Output is correct
149 Correct 28 ms 14420 KB Output is correct
150 Correct 5 ms 2652 KB Output is correct
151 Correct 46 ms 17500 KB Output is correct
152 Correct 11 ms 3844 KB Output is correct
153 Correct 11 ms 6432 KB Output is correct
154 Correct 10 ms 8540 KB Output is correct
155 Correct 10 ms 7260 KB Output is correct
156 Correct 7 ms 5980 KB Output is correct
157 Correct 3 ms 860 KB Output is correct
158 Correct 129 ms 856 KB Output is correct
159 Correct 16 ms 856 KB Output is correct
160 Correct 23 ms 796 KB Output is correct
161 Correct 17 ms 820 KB Output is correct
162 Correct 16 ms 860 KB Output is correct
163 Correct 23 ms 12124 KB Output is correct
164 Correct 36 ms 12316 KB Output is correct
165 Correct 23 ms 12124 KB Output is correct
166 Correct 23 ms 12124 KB Output is correct
167 Correct 23 ms 12260 KB Output is correct
168 Correct 22 ms 12124 KB Output is correct
169 Correct 61 ms 22096 KB Output is correct
170 Correct 8 ms 4188 KB Output is correct
171 Correct 59 ms 22100 KB Output is correct
172 Correct 8 ms 4188 KB Output is correct
173 Correct 55 ms 22096 KB Output is correct
174 Correct 8 ms 4184 KB Output is correct
175 Correct 13 ms 10076 KB Output is correct
176 Correct 12 ms 9820 KB Output is correct
177 Correct 12 ms 9816 KB Output is correct
178 Correct 12 ms 9816 KB Output is correct
179 Correct 9 ms 1880 KB Output is correct
180 Correct 263 ms 1692 KB Output is correct
181 Correct 47 ms 1824 KB Output is correct
182 Correct 80 ms 2336 KB Output is correct
183 Correct 47 ms 1772 KB Output is correct
184 Correct 37 ms 1720 KB Output is correct
185 Correct 41 ms 15440 KB Output is correct
186 Correct 37 ms 17496 KB Output is correct
187 Correct 67 ms 18580 KB Output is correct
188 Correct 49 ms 16988 KB Output is correct
189 Correct 46 ms 17240 KB Output is correct
190 Correct 52 ms 16592 KB Output is correct
191 Correct 44 ms 16724 KB Output is correct
192 Correct 48 ms 15444 KB Output is correct
193 Correct 28 ms 12892 KB Output is correct
194 Correct 14 ms 2908 KB Output is correct
195 Correct 707 ms 3156 KB Output is correct
196 Correct 87 ms 2132 KB Output is correct
197 Correct 82 ms 2388 KB Output is correct
198 Correct 79 ms 2384 KB Output is correct
199 Correct 77 ms 2388 KB Output is correct
200 Correct 131 ms 32588 KB Output is correct
201 Correct 149 ms 32424 KB Output is correct
202 Correct 111 ms 32508 KB Output is correct
203 Correct 136 ms 32608 KB Output is correct
204 Correct 145 ms 32428 KB Output is correct
205 Correct 132 ms 32596 KB Output is correct
206 Correct 87 ms 28240 KB Output is correct
207 Correct 70 ms 24632 KB Output is correct
208 Correct 83 ms 28248 KB Output is correct
209 Correct 63 ms 24656 KB Output is correct
210 Correct 108 ms 28476 KB Output is correct
211 Correct 77 ms 24660 KB Output is correct
212 Correct 106 ms 30632 KB Output is correct
213 Correct 92 ms 27588 KB Output is correct
214 Correct 80 ms 27048 KB Output is correct
215 Correct 89 ms 27316 KB Output is correct