Submission #769551

# Submission time Handle Problem Language Result Execution time Memory
769551 2023-06-29T18:47:47 Z danikoynov Maze (JOI23_ho_t3) C++14
8 / 100
880 ms 699012 KB
#include<bits/stdc++.h>
#define endl '\n'

using namespace std;
typedef long long ll;

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

const int maxn = 6e6 + 10, block = sqrt(maxn) + 10;

struct cell
{
    int x, y;

    cell(int _x = 0, int _y = 0)
    {
        x = _x;
        y = _y;
    }

    cell add(const cell &r) const
    {
        cell d;
        d.x = x + r.x;
        d.y = y + r.y;
        return d;
    }
};

cell neib[4] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}};

int n, m, h;

vector < int > a[block], tr[block], tl[block];
vector < int > tu[block], td[block];
vector < int > ver_idx[block];

vector < pair < int, bool > > adj[3 * maxn];

int stx, sty, enx, eny;

int nxt;

int visit[3 * maxn], dist[3 * maxn];
int is_div[maxn];
void add_edges_row(int row, int i, int j, int ver)
{
    if (j - i + 1 == 2 * h - 1)
    {
        adj[ver].push_back({tr[row][i], 1});
        adj[ver].push_back({tl[row][j], 1});
    }
    else
    {
        if (i == 1)
            adj[ver].push_back({tl[row][j], 1});
        else
        {
            int to = i;
            if (!is_div[i])
                to = 2 * h - 1 - i % (2 * h - 1) + i;
            if (to >= j)
                adj[ver].push_back({tr[row][i], 1});
            else
            {
                adj[ver].push_back({tr[row][i], 1});
                adj[ver].push_back({tl[row][j], 1});
            }
        }
    }
}



void add_edges_col(int col, int i, int j, int ver)
{
    if (j - i + 1 == 2 * h - 1)
    {
        adj[ver].push_back({td[i][col], 1});
        adj[ver].push_back({tu[j][col], 1});
    }
    else
    {
        if (i == 1)
            adj[ver].push_back({tu[j][col], 1});
        else
        {
            int to = i;
            if (!is_div[i])
                to = 2 * h - 1 - i % (2 * h - 1) + i;
            if (to >= j)
                adj[ver].push_back({td[i][col], 1});
            else
            {
                adj[ver].push_back({td[i][col], 1});
                adj[ver].push_back({tu[j][col], 1});
            }
        }
    }
}

int type[5 * maxn];
pair < int, int > cor[5 * maxn];
void solve()
{
    cin >> n >> m >> h;
    cin >> stx >> sty;
    cin >> enx >> eny;
    for (int i = 0; i <= max(n, m); i ++)
    {
        if (i % (2 * h - 1) == 0)
            is_div[i] = 1;
    }
    for (int i = 1; i <= n; i ++)
    {
        a[i].resize(m + 2);
        tl[i].resize(m + 2);
        tr[i].resize(m + 2);
        td[i].resize(m + 2);
        tu[i].resize(m + 2);
        ver_idx[i].resize(m + 2);

        string s;
        cin >> s;
        char c;
        for (int j = 1; j <= m; j ++)
        {
            c = s[j - 1];
            if (c == '.')
                a[i][j] = 0;
            else
                a[i][j] = 1;
        }
    }

    int cnt = 0;
    nxt = n * m;
    for (int i = 1; i <= n; i ++)
    {
        for (int j = 1; j <= m; j ++)
        {
            ver_idx[i][j] = ++ cnt;
        }
    }

    for (int i = 1; i <= n; i ++)
    {
        for (int j = 1; j <= m; j ++)
        {
            tr[i][j] = ++ nxt;
            type[nxt] = 1;
            cor[nxt] = {i, j};
            tl[i][j] = ++ nxt;
            type[nxt] = 2;
            cor[nxt] = {i, j};
        }

    }

    for (int j = 1; j <= m; j ++)
    {
        for (int i = 1; i <= n; i ++)
        {
            tu[i][j] = ++ nxt;
            type[nxt] = 4;
            cor[nxt] = {i, j};
            td[i][j] = ++ nxt;
            type[nxt] = 3;
            cor[nxt] = {i, j};

        }

        for (int i = 1; i <= n; i ++)
        {
            /**if (!is_div[i] && i != n)
                adj[td[i][j]].push_back({td[i + 1][j], 0});
            adj[td[i][j]].push_back({ver_idx[i][j], 0});

            if (!is_div[i - 1])
                adj[tu[i][j]].push_back({tu[i - 1][j], 0});
            adj[tu[i][j]].push_back({ver_idx[i][j], 0});*/
        }
    }

    ///exit(0);
    for (int i = 1; i <= n; i ++)
        for (int j = 1; j <= m; j ++)
        {



            int st_row = max(1, i - h), en_row = min(n, i + h);
            int st_col = max(1, j - h), en_col = min(m, j + h);
            int fs_row = st_row, ds_row = en_row;
            if (fs_row == i - h)
                fs_row ++;
            if (ds_row == i + h)
                ds_row --;

            bool f1 = false, f2 = false;
            if (st_row == i - h)
            {
                if (st_col == j - h)
                    st_col ++, f1 = true;
                if (en_col == j + h)
                    en_col --, f2 = true;
            }
            add_edges_row(st_row, st_col, en_col, ver_idx[i][j]);
            if (st_row == i - h)
            {
                if (f1)
                    st_col --;
                if (f2)
                    en_col ++;
            }



            /// down row
            f1 = f2 = false;
            if (en_row == i + h)
            {
                if (st_col == j - h)
                    st_col ++, f1 = true;
                if (en_col == j + h)
                    en_col --, f2 = true;
            }
            ////cout << i << " " << j << " range " << st_col << " " << en_col << endl;
            ///add_edges(row_root[en_row], 1, m, st_col, en_col, ver_idx[i][j], 1);
            add_edges_row(en_row, st_col, en_col, ver_idx[i][j]);

            if (en_row == i + h)
            {
                if (f1)
                    st_col --;
                if (f2)
                    en_col ++;
            }


            /// left col
            f1 = f2 = false;
            if (st_col == j - h)
            {
                if (st_row == i - h)
                    st_row ++, f1 = true;
                if (en_row == i + h)
                    en_row --, f2 = true;
            }
            ///add_edges(col_root[st_col], 1, n, st_row, en_row, ver_idx[i][j], 1);
            add_edges_col(st_col, st_row, en_row, ver_idx[i][j]);
            if (st_col == j - h)
            {
                if (f1)
                    st_row --;
                if (f2)
                    en_row ++;
            }

            /// right col
            f1 = f2 = false;
            if (en_col == j + h)
            {
                if (st_row == i - h)
                    st_row ++, f1 = true;
                if (en_row == i + h)
                    en_row --, f2 = true;
            }
            ///cout << i << " " << j << " " << "range " << st_row << " " << en_row << " col " << en_col << endl;
            ///add_edges(col_root[en_col], 1, n, st_row, en_row, ver_idx[i][j], 1);
            add_edges_col(en_col, st_row, en_row, ver_idx[i][j]);
            if (en_col == j + h)
            {
                if (f1)
                    st_row --;
                if (f2)
                    en_row ++;
            }
            /**for (int row = st_row; row <= en_row; row ++)
            {
                if (row == i - h || row == i + h)
                {
                    st_col ++, en_col --;

                    add_edges(row_root[row], 1, m, st_col, en_col, ver_idx[i][j], 1);
                    st_col --, en_col ++;
                }
                else
                {
                    adj[ver_idx[cur.x][cur.y]].push_back({fict[row][cur.y], 1});
                }
            }*/

        }


    for (int i = 1; i <= nxt; i ++)
        dist[i] = 1e9;

    deque < int > dq;
    dq.push_back(ver_idx[stx][sty]);
    dist[ver_idx[stx][sty]] = 0;
    while(!dq.empty())
    {
        int cur = dq.front();
        dq.pop_front();
        if (cur == ver_idx[enx][eny])
        {
            cout << dist[cur] << endl;
            return;
        }
        if (cur <= n * m)
        {
            cell c(cur / m + 1, cur % m);
            if (cur % m == 0)
                c.x --, c.y = m;

            for (int i = 0; i < 4; i ++)
            {
                cell nb = neib[i].add(c);
                if (nb.x == 0 || nb.x == n + 1 || nb.y == 0 || nb.y == m + 1 || a[nb.x][nb.y] == 1)
                    continue;
                int u = ver_idx[nb.x][nb.y];
                int w = 0;
                if (dist[u] > dist[cur] + w)
                {
                    dist[u] = dist[cur] + w;
                    if (w == 0)
                        dq.push_front(u);
                    else
                        dq.push_back(u);
                }
            }
        }
        if (type[cur] == 1)
        {
            int x = cor[cur].first, y = cor[cur].second;
            if (y != m && !is_div[y])
            {
                if (dist[tr[x][y + 1]] > dist[cur])
                {
                    dist[tr[x][y + 1]] = dist[cur];
                    dq.push_front(tr[x][y + 1]);
                }
            }
            if (dist[ver_idx[x][y]] > dist[cur])
            {
                dist[ver_idx[x][y]] = dist[cur];
                dq.push_front(ver_idx[x][y]);
            }
        }
        if (type[cur] == 2)
        {
            int x = cor[cur].first, y = cor[cur].second;
            if (!is_div[y - 1])
            {
                if (dist[tl[x][y - 1]] > dist[cur])
                {
                    dist[tl[x][y - 1]] = dist[cur];
                    dq.push_front(tl[x][y - 1]);
                }
            }
            if (dist[ver_idx[x][y]] > dist[cur])
            {
                dist[ver_idx[x][y]] = dist[cur];
                dq.push_front(ver_idx[x][y]);
            }
        }

        if (type[cur] == 3)
        {
            int x = cor[cur].first, y = cor[cur].second;
            if (x != n && !is_div[x])
            {
                if (dist[tr[x + 1][y]] > dist[cur])
                {
                    dist[tr[x + 1][y]] = dist[cur];
                    dq.push_front(tr[x + 1][y]);
                }
            }
            if (dist[ver_idx[x][y]] > dist[cur])
            {
                dist[ver_idx[x][y]] = dist[cur];
                dq.push_front(ver_idx[x][y]);
            }
        }
        if (type[cur] == 4)
        {
            int x = cor[cur].first, y = cor[cur].second;
            if (!is_div[x - 1])
            {
                if (dist[tl[x - 1][y]] > dist[cur])
                {
                    dist[tl[x - 1][y]] = dist[cur];
                    dq.push_front(tl[x - 1][y]);
                }
            }
            if (dist[ver_idx[x][y]] > dist[cur])
            {
                dist[ver_idx[x][y]] = dist[cur];
                dq.push_front(ver_idx[x][y]);
            }
        }
        for (pair < int, int > nb : adj[cur])
        {
            int u = nb.first;
            int w = nb.second;
            if (dist[u] > dist[cur] + w)
            {
                dist[u] = dist[cur] + w;
                if (w == 0)
                    dq.push_front(u);
                else
                    dq.push_back(u);
            }
        }
    }
    /**for (int i = 1; i <= n; i ++, cout << endl)
        for (int j = 1; j <= m; j ++)
            cout << dist[ver_idx[i][j]] << " ";*/

    int ans = dist[ver_idx[enx][eny]];
    for (int i = 1; i <= n; i ++)
        for (int j = 1; j <= m; j ++)
        {
            if (abs(i - enx) <= h && abs(j - eny) <= h)
            {
                if (abs(i - enx) + abs(j - eny) != 2 * h)
                {
                    ans = min(ans, dist[ver_idx[i][j]] + 1);
                }
            }
        }
    cout << ans << endl;


}

int main()
{
    ///freopen("test.txt", "r", stdin);
    speed();
    solve();
    return 0;
}
/**
3 3 2
1 1
3 3
.#.
##.
...
*/
# Verdict Execution time Memory Grader output
1 Correct 185 ms 423280 KB Output is correct
2 Correct 175 ms 423352 KB Output is correct
3 Correct 174 ms 423476 KB Output is correct
4 Correct 171 ms 423500 KB Output is correct
5 Correct 178 ms 423520 KB Output is correct
6 Correct 175 ms 423552 KB Output is correct
7 Correct 173 ms 423492 KB Output is correct
8 Correct 172 ms 423472 KB Output is correct
9 Correct 175 ms 423348 KB Output is correct
10 Correct 173 ms 423316 KB Output is correct
11 Correct 174 ms 423284 KB Output is correct
12 Correct 172 ms 423308 KB Output is correct
13 Correct 176 ms 423696 KB Output is correct
14 Correct 174 ms 423288 KB Output is correct
15 Correct 175 ms 423364 KB Output is correct
16 Correct 174 ms 423508 KB Output is correct
17 Correct 176 ms 423540 KB Output is correct
18 Correct 176 ms 423532 KB Output is correct
19 Correct 193 ms 433484 KB Output is correct
20 Correct 186 ms 431388 KB Output is correct
21 Correct 185 ms 433444 KB Output is correct
22 Correct 191 ms 433516 KB Output is correct
23 Correct 196 ms 433468 KB Output is correct
24 Correct 194 ms 433764 KB Output is correct
25 Correct 187 ms 433728 KB Output is correct
26 Correct 188 ms 433516 KB Output is correct
27 Correct 191 ms 433440 KB Output is correct
28 Correct 191 ms 433484 KB Output is correct
29 Correct 231 ms 448648 KB Output is correct
30 Correct 189 ms 433828 KB Output is correct
31 Correct 209 ms 448924 KB Output is correct
32 Correct 233 ms 448696 KB Output is correct
33 Correct 234 ms 448644 KB Output is correct
34 Correct 211 ms 449372 KB Output is correct
35 Correct 210 ms 449232 KB Output is correct
36 Correct 218 ms 448796 KB Output is correct
37 Correct 233 ms 448744 KB Output is correct
38 Correct 205 ms 448580 KB Output is correct
39 Correct 880 ms 675912 KB Output is correct
40 Correct 216 ms 452044 KB Output is correct
41 Correct 224 ms 455060 KB Output is correct
42 Correct 266 ms 459464 KB Output is correct
43 Correct 238 ms 464680 KB Output is correct
44 Correct 348 ms 548884 KB Output is correct
45 Correct 369 ms 558900 KB Output is correct
46 Correct 785 ms 699012 KB Output is correct
47 Correct 781 ms 676256 KB Output is correct
48 Correct 815 ms 675912 KB Output is correct
49 Correct 493 ms 681804 KB Output is correct
50 Correct 497 ms 681712 KB Output is correct
51 Correct 732 ms 676980 KB Output is correct
52 Correct 673 ms 676356 KB Output is correct
53 Correct 802 ms 676236 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 174 ms 423372 KB Output is correct
2 Correct 173 ms 423292 KB Output is correct
3 Correct 176 ms 423320 KB Output is correct
4 Correct 175 ms 423372 KB Output is correct
5 Correct 175 ms 423560 KB Output is correct
6 Correct 181 ms 423372 KB Output is correct
7 Correct 175 ms 423400 KB Output is correct
8 Incorrect 175 ms 423336 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 175 ms 423288 KB Output is correct
2 Correct 179 ms 423424 KB Output is correct
3 Correct 174 ms 423376 KB Output is correct
4 Correct 176 ms 423320 KB Output is correct
5 Correct 179 ms 423432 KB Output is correct
6 Correct 176 ms 423388 KB Output is correct
7 Correct 175 ms 423504 KB Output is correct
8 Correct 176 ms 423452 KB Output is correct
9 Correct 175 ms 423500 KB Output is correct
10 Correct 174 ms 423468 KB Output is correct
11 Correct 175 ms 423444 KB Output is correct
12 Correct 179 ms 423708 KB Output is correct
13 Correct 177 ms 423352 KB Output is correct
14 Correct 176 ms 423488 KB Output is correct
15 Correct 176 ms 423372 KB Output is correct
16 Correct 175 ms 423452 KB Output is correct
17 Correct 173 ms 423352 KB Output is correct
18 Correct 177 ms 423348 KB Output is correct
19 Correct 173 ms 423344 KB Output is correct
20 Correct 321 ms 423372 KB Output is correct
21 Correct 176 ms 423520 KB Output is correct
22 Correct 175 ms 423536 KB Output is correct
23 Correct 177 ms 423488 KB Output is correct
24 Correct 174 ms 423684 KB Output is correct
25 Correct 183 ms 429804 KB Output is correct
26 Correct 200 ms 433116 KB Output is correct
27 Correct 188 ms 433496 KB Output is correct
28 Correct 189 ms 431680 KB Output is correct
29 Correct 186 ms 431580 KB Output is correct
30 Correct 191 ms 431548 KB Output is correct
31 Incorrect 189 ms 433176 KB Output isn't correct
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 174 ms 423372 KB Output is correct
2 Correct 173 ms 423292 KB Output is correct
3 Correct 176 ms 423320 KB Output is correct
4 Correct 175 ms 423372 KB Output is correct
5 Correct 175 ms 423560 KB Output is correct
6 Correct 181 ms 423372 KB Output is correct
7 Correct 175 ms 423400 KB Output is correct
8 Incorrect 175 ms 423336 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 174 ms 423372 KB Output is correct
2 Correct 173 ms 423292 KB Output is correct
3 Correct 176 ms 423320 KB Output is correct
4 Correct 175 ms 423372 KB Output is correct
5 Correct 175 ms 423560 KB Output is correct
6 Correct 181 ms 423372 KB Output is correct
7 Correct 175 ms 423400 KB Output is correct
8 Incorrect 175 ms 423336 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 185 ms 423280 KB Output is correct
2 Correct 175 ms 423352 KB Output is correct
3 Correct 174 ms 423476 KB Output is correct
4 Correct 171 ms 423500 KB Output is correct
5 Correct 178 ms 423520 KB Output is correct
6 Correct 175 ms 423552 KB Output is correct
7 Correct 173 ms 423492 KB Output is correct
8 Correct 172 ms 423472 KB Output is correct
9 Correct 175 ms 423348 KB Output is correct
10 Correct 173 ms 423316 KB Output is correct
11 Correct 174 ms 423284 KB Output is correct
12 Correct 172 ms 423308 KB Output is correct
13 Correct 176 ms 423696 KB Output is correct
14 Correct 174 ms 423288 KB Output is correct
15 Correct 175 ms 423364 KB Output is correct
16 Correct 174 ms 423508 KB Output is correct
17 Correct 176 ms 423540 KB Output is correct
18 Correct 176 ms 423532 KB Output is correct
19 Correct 193 ms 433484 KB Output is correct
20 Correct 186 ms 431388 KB Output is correct
21 Correct 185 ms 433444 KB Output is correct
22 Correct 191 ms 433516 KB Output is correct
23 Correct 196 ms 433468 KB Output is correct
24 Correct 194 ms 433764 KB Output is correct
25 Correct 187 ms 433728 KB Output is correct
26 Correct 188 ms 433516 KB Output is correct
27 Correct 191 ms 433440 KB Output is correct
28 Correct 191 ms 433484 KB Output is correct
29 Correct 231 ms 448648 KB Output is correct
30 Correct 189 ms 433828 KB Output is correct
31 Correct 209 ms 448924 KB Output is correct
32 Correct 233 ms 448696 KB Output is correct
33 Correct 234 ms 448644 KB Output is correct
34 Correct 211 ms 449372 KB Output is correct
35 Correct 210 ms 449232 KB Output is correct
36 Correct 218 ms 448796 KB Output is correct
37 Correct 233 ms 448744 KB Output is correct
38 Correct 205 ms 448580 KB Output is correct
39 Correct 880 ms 675912 KB Output is correct
40 Correct 216 ms 452044 KB Output is correct
41 Correct 224 ms 455060 KB Output is correct
42 Correct 266 ms 459464 KB Output is correct
43 Correct 238 ms 464680 KB Output is correct
44 Correct 348 ms 548884 KB Output is correct
45 Correct 369 ms 558900 KB Output is correct
46 Correct 785 ms 699012 KB Output is correct
47 Correct 781 ms 676256 KB Output is correct
48 Correct 815 ms 675912 KB Output is correct
49 Correct 493 ms 681804 KB Output is correct
50 Correct 497 ms 681712 KB Output is correct
51 Correct 732 ms 676980 KB Output is correct
52 Correct 673 ms 676356 KB Output is correct
53 Correct 802 ms 676236 KB Output is correct
54 Correct 174 ms 423372 KB Output is correct
55 Correct 173 ms 423292 KB Output is correct
56 Correct 176 ms 423320 KB Output is correct
57 Correct 175 ms 423372 KB Output is correct
58 Correct 175 ms 423560 KB Output is correct
59 Correct 181 ms 423372 KB Output is correct
60 Correct 175 ms 423400 KB Output is correct
61 Incorrect 175 ms 423336 KB Output isn't correct
62 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 185 ms 423280 KB Output is correct
2 Correct 175 ms 423352 KB Output is correct
3 Correct 174 ms 423476 KB Output is correct
4 Correct 171 ms 423500 KB Output is correct
5 Correct 178 ms 423520 KB Output is correct
6 Correct 175 ms 423552 KB Output is correct
7 Correct 173 ms 423492 KB Output is correct
8 Correct 172 ms 423472 KB Output is correct
9 Correct 175 ms 423348 KB Output is correct
10 Correct 173 ms 423316 KB Output is correct
11 Correct 174 ms 423284 KB Output is correct
12 Correct 172 ms 423308 KB Output is correct
13 Correct 176 ms 423696 KB Output is correct
14 Correct 174 ms 423288 KB Output is correct
15 Correct 175 ms 423364 KB Output is correct
16 Correct 174 ms 423508 KB Output is correct
17 Correct 176 ms 423540 KB Output is correct
18 Correct 176 ms 423532 KB Output is correct
19 Correct 193 ms 433484 KB Output is correct
20 Correct 186 ms 431388 KB Output is correct
21 Correct 185 ms 433444 KB Output is correct
22 Correct 191 ms 433516 KB Output is correct
23 Correct 196 ms 433468 KB Output is correct
24 Correct 194 ms 433764 KB Output is correct
25 Correct 187 ms 433728 KB Output is correct
26 Correct 188 ms 433516 KB Output is correct
27 Correct 191 ms 433440 KB Output is correct
28 Correct 191 ms 433484 KB Output is correct
29 Correct 231 ms 448648 KB Output is correct
30 Correct 189 ms 433828 KB Output is correct
31 Correct 209 ms 448924 KB Output is correct
32 Correct 233 ms 448696 KB Output is correct
33 Correct 234 ms 448644 KB Output is correct
34 Correct 211 ms 449372 KB Output is correct
35 Correct 210 ms 449232 KB Output is correct
36 Correct 218 ms 448796 KB Output is correct
37 Correct 233 ms 448744 KB Output is correct
38 Correct 205 ms 448580 KB Output is correct
39 Correct 880 ms 675912 KB Output is correct
40 Correct 216 ms 452044 KB Output is correct
41 Correct 224 ms 455060 KB Output is correct
42 Correct 266 ms 459464 KB Output is correct
43 Correct 238 ms 464680 KB Output is correct
44 Correct 348 ms 548884 KB Output is correct
45 Correct 369 ms 558900 KB Output is correct
46 Correct 785 ms 699012 KB Output is correct
47 Correct 781 ms 676256 KB Output is correct
48 Correct 815 ms 675912 KB Output is correct
49 Correct 493 ms 681804 KB Output is correct
50 Correct 497 ms 681712 KB Output is correct
51 Correct 732 ms 676980 KB Output is correct
52 Correct 673 ms 676356 KB Output is correct
53 Correct 802 ms 676236 KB Output is correct
54 Correct 174 ms 423372 KB Output is correct
55 Correct 173 ms 423292 KB Output is correct
56 Correct 176 ms 423320 KB Output is correct
57 Correct 175 ms 423372 KB Output is correct
58 Correct 175 ms 423560 KB Output is correct
59 Correct 181 ms 423372 KB Output is correct
60 Correct 175 ms 423400 KB Output is correct
61 Incorrect 175 ms 423336 KB Output isn't correct
62 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 185 ms 423280 KB Output is correct
2 Correct 175 ms 423352 KB Output is correct
3 Correct 174 ms 423476 KB Output is correct
4 Correct 171 ms 423500 KB Output is correct
5 Correct 178 ms 423520 KB Output is correct
6 Correct 175 ms 423552 KB Output is correct
7 Correct 173 ms 423492 KB Output is correct
8 Correct 172 ms 423472 KB Output is correct
9 Correct 175 ms 423348 KB Output is correct
10 Correct 173 ms 423316 KB Output is correct
11 Correct 174 ms 423284 KB Output is correct
12 Correct 172 ms 423308 KB Output is correct
13 Correct 176 ms 423696 KB Output is correct
14 Correct 174 ms 423288 KB Output is correct
15 Correct 175 ms 423364 KB Output is correct
16 Correct 174 ms 423508 KB Output is correct
17 Correct 176 ms 423540 KB Output is correct
18 Correct 176 ms 423532 KB Output is correct
19 Correct 193 ms 433484 KB Output is correct
20 Correct 186 ms 431388 KB Output is correct
21 Correct 185 ms 433444 KB Output is correct
22 Correct 191 ms 433516 KB Output is correct
23 Correct 196 ms 433468 KB Output is correct
24 Correct 194 ms 433764 KB Output is correct
25 Correct 187 ms 433728 KB Output is correct
26 Correct 188 ms 433516 KB Output is correct
27 Correct 191 ms 433440 KB Output is correct
28 Correct 191 ms 433484 KB Output is correct
29 Correct 231 ms 448648 KB Output is correct
30 Correct 189 ms 433828 KB Output is correct
31 Correct 209 ms 448924 KB Output is correct
32 Correct 233 ms 448696 KB Output is correct
33 Correct 234 ms 448644 KB Output is correct
34 Correct 211 ms 449372 KB Output is correct
35 Correct 210 ms 449232 KB Output is correct
36 Correct 218 ms 448796 KB Output is correct
37 Correct 233 ms 448744 KB Output is correct
38 Correct 205 ms 448580 KB Output is correct
39 Correct 880 ms 675912 KB Output is correct
40 Correct 216 ms 452044 KB Output is correct
41 Correct 224 ms 455060 KB Output is correct
42 Correct 266 ms 459464 KB Output is correct
43 Correct 238 ms 464680 KB Output is correct
44 Correct 348 ms 548884 KB Output is correct
45 Correct 369 ms 558900 KB Output is correct
46 Correct 785 ms 699012 KB Output is correct
47 Correct 781 ms 676256 KB Output is correct
48 Correct 815 ms 675912 KB Output is correct
49 Correct 493 ms 681804 KB Output is correct
50 Correct 497 ms 681712 KB Output is correct
51 Correct 732 ms 676980 KB Output is correct
52 Correct 673 ms 676356 KB Output is correct
53 Correct 802 ms 676236 KB Output is correct
54 Correct 174 ms 423372 KB Output is correct
55 Correct 173 ms 423292 KB Output is correct
56 Correct 176 ms 423320 KB Output is correct
57 Correct 175 ms 423372 KB Output is correct
58 Correct 175 ms 423560 KB Output is correct
59 Correct 181 ms 423372 KB Output is correct
60 Correct 175 ms 423400 KB Output is correct
61 Incorrect 175 ms 423336 KB Output isn't correct
62 Halted 0 ms 0 KB -