Submission #780297

# Submission time Handle Problem Language Result Execution time Memory
780297 2023-07-12T08:02:37 Z boris_mihov Maze (JOI23_ho_t3) C++17
51 / 100
2000 ms 671060 KB
#include <algorithm>
#include <iostream>
#include <numeric>
#include <cassert>
#include <vector>
#include <queue>

typedef long long llong;
const int MAXLOG = 23;
const int MAXN = 6000000 + 10;
const int INF  = 1e9;

struct BIT
{
    std::vector <int> tree;
    void build(int sz)
    {
        tree.resize(sz + 1, 0);
    }

    void update(int pos, int value)
    {
        assert(pos >= 1 && pos < tree.size());
        for (int idx = pos ; idx < tree.size() ; idx += idx & (-idx))
        {
            tree[idx] += value;
        }
    }

    int query(int pos)
    {
        assert(pos >= 0 && pos < tree.size());
        int res = 0;
        for (int idx = pos ; idx > 0 ; idx -= idx & (-idx))
        {
            res += tree[idx];
        }

        return pos - res;
    }

    int findKth(int k)
    {
        int k2 = k;
        int idx = 0;
        for (int log = MAXLOG - 1 ; log >= 0 ; --log)
        {
            if (idx + (1 << log) < tree.size() && (1 << log) - tree[idx + (1 << log)] < k)
            {
                idx += (1 << log);
                k -= (1 << log) - tree[idx];
            }
        }

        int l = 0, r = tree.size(), mid;
        while (l < r - 1)
        {
            mid = (l + r) / 2;
            if (query(mid) < k2) l = mid;
            else r = mid;
        }

        // if (l != idx)
        // {
        //     std::cout << "bad: " << l << ' ' << idx << '\n' << std::flush;
        // }
        // assert(l == idx);
        return r;
    }
};

int r, c, n;
int sRow, sCol;
int eRow, eCol;
BIT byROW[MAXN];
BIT byCOL[MAXN];
std::pair <int,int> delta[] = {{-1, 0}, {0, -1}, {1, 0}, {0, 1}};
std::deque <std::pair <int,int>> dq;
std::vector <int> dist[MAXN];
std::string t[MAXN];

bool isOutside(int row, int col)
{
    return row == 0 || row == r + 1 || col == 0 || col == c + 1;
}

void setCELL(int row, int col)
{
    byROW[row].update(col, 1); 
    byCOL[col].update(row, 1); 
}

void addROW(int row, int colL, int colR, int currDist)
{
    int curr = byROW[row].query(colL - 1);
    // while (true)
    // {
    //     int search = byROW[row].findKth(curr + 1);
    //     if (search > colR)
    //     {
    //         break;
    //     }

    //     if (dist[row][search] > currDist + 1) dist[row][search] = currDist + 1;
    //     dq.push_back({row, search});
    //     setCELL(row, search);
    // }

    for (int i = colL ; i <= colR ; ++i)
    {
        if (dist[row][i] == INF)
        {
            if (byROW[row].findKth(curr + 1) != i)
            {
                // assert(false);
                int res = byROW[row].findKth(curr + 1); assert(res != i);
                // // assert(byROW[row].query(res) - byROW[row].query(res - 1) == 1);
                // bool was = (res > i);
                while (res < i){}
                while (res > i){}
                assert(res == byROW[row].findKth(curr + 1));
                // assert(res != i && (res > i) == was);
                // // while (true) assert((res > i) == was);
            }

            setCELL(row, i);
            dist[row][i] = currDist + 1;
            dq.push_back({row, i});
        }
    }
}

void addCOL(int col, int rowL, int rowR, int currDist)
{
    int curr = byCOL[col].query(rowL - 1);
    // while (true)
    // {
    //     int search = byCOL[col].findKth(curr + 1);
    //     if (search > rowR)
    //     {
    //         break;
    //     }

    //     if (dist[search][col] > currDist + 1) dist[search][col] = currDist + 1;
    //     dq.push_back({search, col});
    //     setCELL(search, col);
    // }

    for (int i = rowL ; i <= rowR ; ++i)
    {
        if (dist[i][col] == INF)
        {
            if (byCOL[col].findKth(curr + 1) != i)
            {
                // assert(false);
                int res = byCOL[col].findKth(curr + 1); assert(res != i);
                // // assert(byCOL[col].query(res) - byCOL[col].query(res - 1) == 1);
                // bool was = (res > i);
                while (res < i){}
                while (res > i){}
                // assert(res != i && (res > i) == was);
                // // while (true) assert((res > i) == was);
            }

            setCELL(i, col);
            dist[i][col] = currDist + 1;
            dq.push_back({i, col});
        }
    }
}

void solve()
{
    for (int i = 1 ; i <= r ; ++i)
    {
        std::fill(dist[i].begin(), dist[i].end(), INF);
    }

    for (int i = 1 ; i <= r ; ++i)
    {
        byROW[i].build(c);
    }
    
    for (int i = 1 ; i <= c ; ++i)
    {
        byCOL[i].build(r);
    }
    
    dq.push_back({sRow, sCol});
    dist[sRow][sCol] = 0;
    setCELL(sRow, sCol);

    while (!dq.empty())
    {
        auto [row, col] = dq.front();
        dq.pop_front();    

        if (row == eRow && col == eCol)
        {
            std::cout << dist[row][col] << '\n';
            break;
        }

        for (const auto &[dx, dy] : delta)
        {
            if (isOutside(row + dx, col + dy) || dist[row + dx][col + dy] <= dist[row][col])
            {
                continue;
            }

            if (t[row + dx][col + dy] == '.')
            {
                setCELL(row + dx, col + dy);
                dist[row + dx][col + dy] = dist[row][col]; 
                dq.push_front({row + dx, col + dy});
            }
        }

        if (abs(row - eRow) <= n && abs(col - eCol) <= n && dist[eRow][eCol] > dist[row][col])
        {
            setCELL(eRow, eCol);
            dist[eRow][eCol] = dist[row][col] + 1;
            dq.push_back({eRow, eCol});
        }

        addROW(std::max(1, row - n), std::max(1, col - n + 1), std::min(c, col + n - 1), dist[row][col]);
        addROW(std::min(r, row + n), std::max(1, col - n + 1), std::min(c, col + n - 1), dist[row][col]);
        addCOL(std::max(1, col - n), std::max(1, row - n + 1), std::min(r, row + n - 1), dist[row][col]);
        addCOL(std::min(c, col + n), std::max(1, row - n + 1), std::min(r, row + n - 1), dist[row][col]);
    }
}

void input()
{
    std::cin >> r >> c >> n;
    std::cin >> sRow >> sCol;
    std::cin >> eRow >> eCol;
    for (int i = 1 ; i <= r ; ++i)
    {
        std::cin >> t[i];
        t[i] = ' ' + t[i];
        dist[i].resize(c + 1, INF);
    }
}

void fastIOI()
{
    std::ios_base :: sync_with_stdio(0);
    std::cout.tie(nullptr);
    std::cin.tie(nullptr);
}

int main()
{
    fastIOI();
    input();
    solve();

    return 0;
}

Compilation message

In file included from /usr/include/c++/10/cassert:44,
                 from Main.cpp:4:
Main.cpp: In member function 'void BIT::update(int, int)':
Main.cpp:23:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |         assert(pos >= 1 && pos < tree.size());
      |                            ~~~~^~~~~~~~~~~~~
Main.cpp:24:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for (int idx = pos ; idx < tree.size() ; idx += idx & (-idx))
      |                              ~~~~^~~~~~~~~~~~~
In file included from /usr/include/c++/10/cassert:44,
                 from Main.cpp:4:
Main.cpp: In member function 'int BIT::query(int)':
Main.cpp:32:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         assert(pos >= 0 && pos < tree.size());
      |                            ~~~~^~~~~~~~~~~~~
Main.cpp: In member function 'int BIT::findKth(int)':
Main.cpp:48:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |             if (idx + (1 << log) < tree.size() && (1 << log) - tree[idx + (1 << log)] < k)
      |                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 272 ms 610920 KB Output is correct
2 Correct 249 ms 610864 KB Output is correct
3 Correct 256 ms 610836 KB Output is correct
4 Correct 263 ms 610880 KB Output is correct
5 Correct 257 ms 610880 KB Output is correct
6 Correct 259 ms 610800 KB Output is correct
7 Correct 280 ms 610892 KB Output is correct
8 Correct 272 ms 610884 KB Output is correct
9 Correct 270 ms 610804 KB Output is correct
10 Correct 252 ms 610816 KB Output is correct
11 Correct 270 ms 610844 KB Output is correct
12 Correct 258 ms 610864 KB Output is correct
13 Correct 259 ms 610764 KB Output is correct
14 Correct 255 ms 610816 KB Output is correct
15 Correct 264 ms 610868 KB Output is correct
16 Correct 249 ms 610876 KB Output is correct
17 Correct 255 ms 610820 KB Output is correct
18 Correct 266 ms 610884 KB Output is correct
19 Correct 272 ms 611640 KB Output is correct
20 Correct 250 ms 612608 KB Output is correct
21 Correct 263 ms 611836 KB Output is correct
22 Correct 261 ms 611656 KB Output is correct
23 Correct 275 ms 611624 KB Output is correct
24 Correct 288 ms 613268 KB Output is correct
25 Correct 272 ms 613360 KB Output is correct
26 Correct 256 ms 611572 KB Output is correct
27 Correct 269 ms 611644 KB Output is correct
28 Correct 263 ms 611652 KB Output is correct
29 Correct 280 ms 612716 KB Output is correct
30 Correct 265 ms 612348 KB Output is correct
31 Correct 269 ms 613020 KB Output is correct
32 Correct 285 ms 612720 KB Output is correct
33 Correct 279 ms 612720 KB Output is correct
34 Correct 276 ms 616860 KB Output is correct
35 Correct 274 ms 616904 KB Output is correct
36 Correct 266 ms 612784 KB Output is correct
37 Correct 279 ms 612772 KB Output is correct
38 Correct 284 ms 612744 KB Output is correct
39 Correct 576 ms 630064 KB Output is correct
40 Correct 267 ms 613200 KB Output is correct
41 Correct 274 ms 618268 KB Output is correct
42 Correct 318 ms 613636 KB Output is correct
43 Correct 272 ms 616864 KB Output is correct
44 Correct 275 ms 623120 KB Output is correct
45 Correct 284 ms 622876 KB Output is correct
46 Correct 365 ms 636248 KB Output is correct
47 Correct 521 ms 630188 KB Output is correct
48 Correct 502 ms 629964 KB Output is correct
49 Correct 385 ms 671012 KB Output is correct
50 Correct 385 ms 671060 KB Output is correct
51 Correct 426 ms 630308 KB Output is correct
52 Correct 425 ms 630076 KB Output is correct
53 Correct 576 ms 630100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 277 ms 610868 KB Output is correct
2 Correct 254 ms 610852 KB Output is correct
3 Correct 264 ms 610816 KB Output is correct
4 Correct 255 ms 610912 KB Output is correct
5 Correct 263 ms 610880 KB Output is correct
6 Correct 264 ms 610780 KB Output is correct
7 Correct 292 ms 610868 KB Output is correct
8 Correct 312 ms 610876 KB Output is correct
9 Correct 274 ms 610880 KB Output is correct
10 Correct 264 ms 610808 KB Output is correct
11 Correct 265 ms 610836 KB Output is correct
12 Correct 263 ms 610760 KB Output is correct
13 Correct 281 ms 610880 KB Output is correct
14 Correct 270 ms 610788 KB Output is correct
15 Correct 282 ms 610888 KB Output is correct
16 Correct 297 ms 610848 KB Output is correct
17 Correct 287 ms 610892 KB Output is correct
18 Correct 265 ms 610800 KB Output is correct
19 Correct 239 ms 610880 KB Output is correct
20 Correct 253 ms 610764 KB Output is correct
21 Correct 258 ms 610780 KB Output is correct
22 Correct 271 ms 610884 KB Output is correct
23 Correct 299 ms 610872 KB Output is correct
24 Correct 284 ms 610788 KB Output is correct
25 Correct 266 ms 610864 KB Output is correct
26 Correct 292 ms 610868 KB Output is correct
27 Correct 279 ms 610776 KB Output is correct
28 Correct 267 ms 610908 KB Output is correct
29 Correct 252 ms 610816 KB Output is correct
30 Correct 287 ms 610840 KB Output is correct
31 Correct 319 ms 610852 KB Output is correct
32 Correct 310 ms 610880 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 272 ms 610764 KB Output is correct
2 Correct 296 ms 610852 KB Output is correct
3 Correct 268 ms 610864 KB Output is correct
4 Correct 264 ms 610860 KB Output is correct
5 Correct 313 ms 610864 KB Output is correct
6 Correct 280 ms 610796 KB Output is correct
7 Correct 261 ms 610832 KB Output is correct
8 Correct 264 ms 610848 KB Output is correct
9 Correct 266 ms 610836 KB Output is correct
10 Correct 270 ms 610808 KB Output is correct
11 Correct 267 ms 610812 KB Output is correct
12 Correct 257 ms 610912 KB Output is correct
13 Correct 255 ms 610764 KB Output is correct
14 Correct 279 ms 610880 KB Output is correct
15 Correct 263 ms 610864 KB Output is correct
16 Correct 270 ms 610796 KB Output is correct
17 Correct 297 ms 610864 KB Output is correct
18 Correct 262 ms 610864 KB Output is correct
19 Correct 256 ms 610812 KB Output is correct
20 Correct 268 ms 610964 KB Output is correct
21 Correct 258 ms 610816 KB Output is correct
22 Correct 257 ms 610880 KB Output is correct
23 Correct 267 ms 610804 KB Output is correct
24 Correct 262 ms 610900 KB Output is correct
25 Correct 263 ms 611344 KB Output is correct
26 Correct 277 ms 611904 KB Output is correct
27 Correct 314 ms 611880 KB Output is correct
28 Correct 287 ms 611700 KB Output is correct
29 Correct 243 ms 611632 KB Output is correct
30 Correct 293 ms 611652 KB Output is correct
31 Correct 277 ms 611720 KB Output is correct
32 Correct 244 ms 611664 KB Output is correct
33 Correct 266 ms 611532 KB Output is correct
34 Correct 298 ms 613504 KB Output is correct
35 Correct 259 ms 613024 KB Output is correct
36 Correct 422 ms 613536 KB Output is correct
37 Correct 276 ms 612812 KB Output is correct
38 Correct 268 ms 612804 KB Output is correct
39 Correct 381 ms 620420 KB Output is correct
40 Correct 536 ms 638404 KB Output is correct
41 Correct 411 ms 636280 KB Output is correct
42 Execution timed out 2095 ms 638488 KB Time limit exceeded
43 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 277 ms 610868 KB Output is correct
2 Correct 254 ms 610852 KB Output is correct
3 Correct 264 ms 610816 KB Output is correct
4 Correct 255 ms 610912 KB Output is correct
5 Correct 263 ms 610880 KB Output is correct
6 Correct 264 ms 610780 KB Output is correct
7 Correct 292 ms 610868 KB Output is correct
8 Correct 312 ms 610876 KB Output is correct
9 Correct 274 ms 610880 KB Output is correct
10 Correct 264 ms 610808 KB Output is correct
11 Correct 265 ms 610836 KB Output is correct
12 Correct 263 ms 610760 KB Output is correct
13 Correct 281 ms 610880 KB Output is correct
14 Correct 270 ms 610788 KB Output is correct
15 Correct 282 ms 610888 KB Output is correct
16 Correct 297 ms 610848 KB Output is correct
17 Correct 287 ms 610892 KB Output is correct
18 Correct 265 ms 610800 KB Output is correct
19 Correct 239 ms 610880 KB Output is correct
20 Correct 253 ms 610764 KB Output is correct
21 Correct 258 ms 610780 KB Output is correct
22 Correct 271 ms 610884 KB Output is correct
23 Correct 299 ms 610872 KB Output is correct
24 Correct 284 ms 610788 KB Output is correct
25 Correct 266 ms 610864 KB Output is correct
26 Correct 292 ms 610868 KB Output is correct
27 Correct 279 ms 610776 KB Output is correct
28 Correct 267 ms 610908 KB Output is correct
29 Correct 252 ms 610816 KB Output is correct
30 Correct 287 ms 610840 KB Output is correct
31 Correct 319 ms 610852 KB Output is correct
32 Correct 310 ms 610880 KB Output is correct
33 Correct 273 ms 611648 KB Output is correct
34 Correct 259 ms 610900 KB Output is correct
35 Correct 263 ms 610892 KB Output is correct
36 Correct 269 ms 611464 KB Output is correct
37 Correct 277 ms 612676 KB Output is correct
38 Correct 256 ms 612080 KB Output is correct
39 Correct 250 ms 611788 KB Output is correct
40 Correct 262 ms 611656 KB Output is correct
41 Correct 276 ms 611704 KB Output is correct
42 Correct 271 ms 611652 KB Output is correct
43 Correct 257 ms 611596 KB Output is correct
44 Correct 264 ms 611648 KB Output is correct
45 Correct 261 ms 613216 KB Output is correct
46 Correct 280 ms 613348 KB Output is correct
47 Correct 275 ms 612288 KB Output is correct
48 Correct 264 ms 611716 KB Output is correct
49 Correct 279 ms 611608 KB Output is correct
50 Correct 264 ms 611576 KB Output is correct
51 Correct 268 ms 611660 KB Output is correct
52 Correct 276 ms 611700 KB Output is correct
53 Correct 294 ms 611532 KB Output is correct
54 Correct 268 ms 611640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 277 ms 610868 KB Output is correct
2 Correct 254 ms 610852 KB Output is correct
3 Correct 264 ms 610816 KB Output is correct
4 Correct 255 ms 610912 KB Output is correct
5 Correct 263 ms 610880 KB Output is correct
6 Correct 264 ms 610780 KB Output is correct
7 Correct 292 ms 610868 KB Output is correct
8 Correct 312 ms 610876 KB Output is correct
9 Correct 274 ms 610880 KB Output is correct
10 Correct 264 ms 610808 KB Output is correct
11 Correct 265 ms 610836 KB Output is correct
12 Correct 263 ms 610760 KB Output is correct
13 Correct 281 ms 610880 KB Output is correct
14 Correct 270 ms 610788 KB Output is correct
15 Correct 282 ms 610888 KB Output is correct
16 Correct 297 ms 610848 KB Output is correct
17 Correct 287 ms 610892 KB Output is correct
18 Correct 265 ms 610800 KB Output is correct
19 Correct 239 ms 610880 KB Output is correct
20 Correct 253 ms 610764 KB Output is correct
21 Correct 258 ms 610780 KB Output is correct
22 Correct 271 ms 610884 KB Output is correct
23 Correct 299 ms 610872 KB Output is correct
24 Correct 284 ms 610788 KB Output is correct
25 Correct 266 ms 610864 KB Output is correct
26 Correct 292 ms 610868 KB Output is correct
27 Correct 279 ms 610776 KB Output is correct
28 Correct 267 ms 610908 KB Output is correct
29 Correct 252 ms 610816 KB Output is correct
30 Correct 287 ms 610840 KB Output is correct
31 Correct 319 ms 610852 KB Output is correct
32 Correct 310 ms 610880 KB Output is correct
33 Correct 273 ms 611648 KB Output is correct
34 Correct 259 ms 610900 KB Output is correct
35 Correct 263 ms 610892 KB Output is correct
36 Correct 269 ms 611464 KB Output is correct
37 Correct 277 ms 612676 KB Output is correct
38 Correct 256 ms 612080 KB Output is correct
39 Correct 250 ms 611788 KB Output is correct
40 Correct 262 ms 611656 KB Output is correct
41 Correct 276 ms 611704 KB Output is correct
42 Correct 271 ms 611652 KB Output is correct
43 Correct 257 ms 611596 KB Output is correct
44 Correct 264 ms 611648 KB Output is correct
45 Correct 261 ms 613216 KB Output is correct
46 Correct 280 ms 613348 KB Output is correct
47 Correct 275 ms 612288 KB Output is correct
48 Correct 264 ms 611716 KB Output is correct
49 Correct 279 ms 611608 KB Output is correct
50 Correct 264 ms 611576 KB Output is correct
51 Correct 268 ms 611660 KB Output is correct
52 Correct 276 ms 611700 KB Output is correct
53 Correct 294 ms 611532 KB Output is correct
54 Correct 268 ms 611640 KB Output is correct
55 Correct 297 ms 612812 KB Output is correct
56 Correct 300 ms 612352 KB Output is correct
57 Correct 297 ms 613608 KB Output is correct
58 Correct 278 ms 612672 KB Output is correct
59 Correct 265 ms 613024 KB Output is correct
60 Correct 296 ms 612824 KB Output is correct
61 Correct 288 ms 612816 KB Output is correct
62 Correct 419 ms 613476 KB Output is correct
63 Correct 260 ms 612824 KB Output is correct
64 Correct 251 ms 612816 KB Output is correct
65 Correct 291 ms 616888 KB Output is correct
66 Correct 305 ms 616792 KB Output is correct
67 Correct 292 ms 614564 KB Output is correct
68 Correct 283 ms 612880 KB Output is correct
69 Correct 272 ms 612800 KB Output is correct
70 Correct 293 ms 612928 KB Output is correct
71 Correct 292 ms 613108 KB Output is correct
72 Correct 257 ms 612876 KB Output is correct
73 Correct 283 ms 612792 KB Output is correct
74 Correct 262 ms 612816 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 272 ms 610920 KB Output is correct
2 Correct 249 ms 610864 KB Output is correct
3 Correct 256 ms 610836 KB Output is correct
4 Correct 263 ms 610880 KB Output is correct
5 Correct 257 ms 610880 KB Output is correct
6 Correct 259 ms 610800 KB Output is correct
7 Correct 280 ms 610892 KB Output is correct
8 Correct 272 ms 610884 KB Output is correct
9 Correct 270 ms 610804 KB Output is correct
10 Correct 252 ms 610816 KB Output is correct
11 Correct 270 ms 610844 KB Output is correct
12 Correct 258 ms 610864 KB Output is correct
13 Correct 259 ms 610764 KB Output is correct
14 Correct 255 ms 610816 KB Output is correct
15 Correct 264 ms 610868 KB Output is correct
16 Correct 249 ms 610876 KB Output is correct
17 Correct 255 ms 610820 KB Output is correct
18 Correct 266 ms 610884 KB Output is correct
19 Correct 272 ms 611640 KB Output is correct
20 Correct 250 ms 612608 KB Output is correct
21 Correct 263 ms 611836 KB Output is correct
22 Correct 261 ms 611656 KB Output is correct
23 Correct 275 ms 611624 KB Output is correct
24 Correct 288 ms 613268 KB Output is correct
25 Correct 272 ms 613360 KB Output is correct
26 Correct 256 ms 611572 KB Output is correct
27 Correct 269 ms 611644 KB Output is correct
28 Correct 263 ms 611652 KB Output is correct
29 Correct 280 ms 612716 KB Output is correct
30 Correct 265 ms 612348 KB Output is correct
31 Correct 269 ms 613020 KB Output is correct
32 Correct 285 ms 612720 KB Output is correct
33 Correct 279 ms 612720 KB Output is correct
34 Correct 276 ms 616860 KB Output is correct
35 Correct 274 ms 616904 KB Output is correct
36 Correct 266 ms 612784 KB Output is correct
37 Correct 279 ms 612772 KB Output is correct
38 Correct 284 ms 612744 KB Output is correct
39 Correct 576 ms 630064 KB Output is correct
40 Correct 267 ms 613200 KB Output is correct
41 Correct 274 ms 618268 KB Output is correct
42 Correct 318 ms 613636 KB Output is correct
43 Correct 272 ms 616864 KB Output is correct
44 Correct 275 ms 623120 KB Output is correct
45 Correct 284 ms 622876 KB Output is correct
46 Correct 365 ms 636248 KB Output is correct
47 Correct 521 ms 630188 KB Output is correct
48 Correct 502 ms 629964 KB Output is correct
49 Correct 385 ms 671012 KB Output is correct
50 Correct 385 ms 671060 KB Output is correct
51 Correct 426 ms 630308 KB Output is correct
52 Correct 425 ms 630076 KB Output is correct
53 Correct 576 ms 630100 KB Output is correct
54 Correct 277 ms 610868 KB Output is correct
55 Correct 254 ms 610852 KB Output is correct
56 Correct 264 ms 610816 KB Output is correct
57 Correct 255 ms 610912 KB Output is correct
58 Correct 263 ms 610880 KB Output is correct
59 Correct 264 ms 610780 KB Output is correct
60 Correct 292 ms 610868 KB Output is correct
61 Correct 312 ms 610876 KB Output is correct
62 Correct 274 ms 610880 KB Output is correct
63 Correct 264 ms 610808 KB Output is correct
64 Correct 265 ms 610836 KB Output is correct
65 Correct 263 ms 610760 KB Output is correct
66 Correct 281 ms 610880 KB Output is correct
67 Correct 270 ms 610788 KB Output is correct
68 Correct 282 ms 610888 KB Output is correct
69 Correct 297 ms 610848 KB Output is correct
70 Correct 287 ms 610892 KB Output is correct
71 Correct 265 ms 610800 KB Output is correct
72 Correct 239 ms 610880 KB Output is correct
73 Correct 253 ms 610764 KB Output is correct
74 Correct 258 ms 610780 KB Output is correct
75 Correct 271 ms 610884 KB Output is correct
76 Correct 299 ms 610872 KB Output is correct
77 Correct 284 ms 610788 KB Output is correct
78 Correct 266 ms 610864 KB Output is correct
79 Correct 292 ms 610868 KB Output is correct
80 Correct 279 ms 610776 KB Output is correct
81 Correct 267 ms 610908 KB Output is correct
82 Correct 252 ms 610816 KB Output is correct
83 Correct 287 ms 610840 KB Output is correct
84 Correct 319 ms 610852 KB Output is correct
85 Correct 310 ms 610880 KB Output is correct
86 Correct 272 ms 610764 KB Output is correct
87 Correct 296 ms 610852 KB Output is correct
88 Correct 268 ms 610864 KB Output is correct
89 Correct 264 ms 610860 KB Output is correct
90 Correct 313 ms 610864 KB Output is correct
91 Correct 280 ms 610796 KB Output is correct
92 Correct 261 ms 610832 KB Output is correct
93 Correct 264 ms 610848 KB Output is correct
94 Correct 266 ms 610836 KB Output is correct
95 Correct 270 ms 610808 KB Output is correct
96 Correct 267 ms 610812 KB Output is correct
97 Correct 257 ms 610912 KB Output is correct
98 Correct 255 ms 610764 KB Output is correct
99 Correct 279 ms 610880 KB Output is correct
100 Correct 263 ms 610864 KB Output is correct
101 Correct 270 ms 610796 KB Output is correct
102 Correct 297 ms 610864 KB Output is correct
103 Correct 262 ms 610864 KB Output is correct
104 Correct 256 ms 610812 KB Output is correct
105 Correct 268 ms 610964 KB Output is correct
106 Correct 258 ms 610816 KB Output is correct
107 Correct 257 ms 610880 KB Output is correct
108 Correct 267 ms 610804 KB Output is correct
109 Correct 262 ms 610900 KB Output is correct
110 Correct 263 ms 611344 KB Output is correct
111 Correct 277 ms 611904 KB Output is correct
112 Correct 314 ms 611880 KB Output is correct
113 Correct 287 ms 611700 KB Output is correct
114 Correct 243 ms 611632 KB Output is correct
115 Correct 293 ms 611652 KB Output is correct
116 Correct 277 ms 611720 KB Output is correct
117 Correct 244 ms 611664 KB Output is correct
118 Correct 266 ms 611532 KB Output is correct
119 Correct 298 ms 613504 KB Output is correct
120 Correct 259 ms 613024 KB Output is correct
121 Correct 422 ms 613536 KB Output is correct
122 Correct 276 ms 612812 KB Output is correct
123 Correct 268 ms 612804 KB Output is correct
124 Correct 381 ms 620420 KB Output is correct
125 Correct 536 ms 638404 KB Output is correct
126 Correct 411 ms 636280 KB Output is correct
127 Execution timed out 2095 ms 638488 KB Time limit exceeded
128 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 272 ms 610920 KB Output is correct
2 Correct 249 ms 610864 KB Output is correct
3 Correct 256 ms 610836 KB Output is correct
4 Correct 263 ms 610880 KB Output is correct
5 Correct 257 ms 610880 KB Output is correct
6 Correct 259 ms 610800 KB Output is correct
7 Correct 280 ms 610892 KB Output is correct
8 Correct 272 ms 610884 KB Output is correct
9 Correct 270 ms 610804 KB Output is correct
10 Correct 252 ms 610816 KB Output is correct
11 Correct 270 ms 610844 KB Output is correct
12 Correct 258 ms 610864 KB Output is correct
13 Correct 259 ms 610764 KB Output is correct
14 Correct 255 ms 610816 KB Output is correct
15 Correct 264 ms 610868 KB Output is correct
16 Correct 249 ms 610876 KB Output is correct
17 Correct 255 ms 610820 KB Output is correct
18 Correct 266 ms 610884 KB Output is correct
19 Correct 272 ms 611640 KB Output is correct
20 Correct 250 ms 612608 KB Output is correct
21 Correct 263 ms 611836 KB Output is correct
22 Correct 261 ms 611656 KB Output is correct
23 Correct 275 ms 611624 KB Output is correct
24 Correct 288 ms 613268 KB Output is correct
25 Correct 272 ms 613360 KB Output is correct
26 Correct 256 ms 611572 KB Output is correct
27 Correct 269 ms 611644 KB Output is correct
28 Correct 263 ms 611652 KB Output is correct
29 Correct 280 ms 612716 KB Output is correct
30 Correct 265 ms 612348 KB Output is correct
31 Correct 269 ms 613020 KB Output is correct
32 Correct 285 ms 612720 KB Output is correct
33 Correct 279 ms 612720 KB Output is correct
34 Correct 276 ms 616860 KB Output is correct
35 Correct 274 ms 616904 KB Output is correct
36 Correct 266 ms 612784 KB Output is correct
37 Correct 279 ms 612772 KB Output is correct
38 Correct 284 ms 612744 KB Output is correct
39 Correct 576 ms 630064 KB Output is correct
40 Correct 267 ms 613200 KB Output is correct
41 Correct 274 ms 618268 KB Output is correct
42 Correct 318 ms 613636 KB Output is correct
43 Correct 272 ms 616864 KB Output is correct
44 Correct 275 ms 623120 KB Output is correct
45 Correct 284 ms 622876 KB Output is correct
46 Correct 365 ms 636248 KB Output is correct
47 Correct 521 ms 630188 KB Output is correct
48 Correct 502 ms 629964 KB Output is correct
49 Correct 385 ms 671012 KB Output is correct
50 Correct 385 ms 671060 KB Output is correct
51 Correct 426 ms 630308 KB Output is correct
52 Correct 425 ms 630076 KB Output is correct
53 Correct 576 ms 630100 KB Output is correct
54 Correct 277 ms 610868 KB Output is correct
55 Correct 254 ms 610852 KB Output is correct
56 Correct 264 ms 610816 KB Output is correct
57 Correct 255 ms 610912 KB Output is correct
58 Correct 263 ms 610880 KB Output is correct
59 Correct 264 ms 610780 KB Output is correct
60 Correct 292 ms 610868 KB Output is correct
61 Correct 312 ms 610876 KB Output is correct
62 Correct 274 ms 610880 KB Output is correct
63 Correct 264 ms 610808 KB Output is correct
64 Correct 265 ms 610836 KB Output is correct
65 Correct 263 ms 610760 KB Output is correct
66 Correct 281 ms 610880 KB Output is correct
67 Correct 270 ms 610788 KB Output is correct
68 Correct 282 ms 610888 KB Output is correct
69 Correct 297 ms 610848 KB Output is correct
70 Correct 287 ms 610892 KB Output is correct
71 Correct 265 ms 610800 KB Output is correct
72 Correct 239 ms 610880 KB Output is correct
73 Correct 253 ms 610764 KB Output is correct
74 Correct 258 ms 610780 KB Output is correct
75 Correct 271 ms 610884 KB Output is correct
76 Correct 299 ms 610872 KB Output is correct
77 Correct 284 ms 610788 KB Output is correct
78 Correct 266 ms 610864 KB Output is correct
79 Correct 292 ms 610868 KB Output is correct
80 Correct 279 ms 610776 KB Output is correct
81 Correct 267 ms 610908 KB Output is correct
82 Correct 252 ms 610816 KB Output is correct
83 Correct 287 ms 610840 KB Output is correct
84 Correct 319 ms 610852 KB Output is correct
85 Correct 310 ms 610880 KB Output is correct
86 Correct 272 ms 610764 KB Output is correct
87 Correct 296 ms 610852 KB Output is correct
88 Correct 268 ms 610864 KB Output is correct
89 Correct 264 ms 610860 KB Output is correct
90 Correct 313 ms 610864 KB Output is correct
91 Correct 280 ms 610796 KB Output is correct
92 Correct 261 ms 610832 KB Output is correct
93 Correct 264 ms 610848 KB Output is correct
94 Correct 266 ms 610836 KB Output is correct
95 Correct 270 ms 610808 KB Output is correct
96 Correct 267 ms 610812 KB Output is correct
97 Correct 257 ms 610912 KB Output is correct
98 Correct 255 ms 610764 KB Output is correct
99 Correct 279 ms 610880 KB Output is correct
100 Correct 263 ms 610864 KB Output is correct
101 Correct 270 ms 610796 KB Output is correct
102 Correct 297 ms 610864 KB Output is correct
103 Correct 262 ms 610864 KB Output is correct
104 Correct 256 ms 610812 KB Output is correct
105 Correct 268 ms 610964 KB Output is correct
106 Correct 258 ms 610816 KB Output is correct
107 Correct 257 ms 610880 KB Output is correct
108 Correct 267 ms 610804 KB Output is correct
109 Correct 262 ms 610900 KB Output is correct
110 Correct 263 ms 611344 KB Output is correct
111 Correct 277 ms 611904 KB Output is correct
112 Correct 314 ms 611880 KB Output is correct
113 Correct 287 ms 611700 KB Output is correct
114 Correct 243 ms 611632 KB Output is correct
115 Correct 293 ms 611652 KB Output is correct
116 Correct 277 ms 611720 KB Output is correct
117 Correct 244 ms 611664 KB Output is correct
118 Correct 266 ms 611532 KB Output is correct
119 Correct 298 ms 613504 KB Output is correct
120 Correct 259 ms 613024 KB Output is correct
121 Correct 422 ms 613536 KB Output is correct
122 Correct 276 ms 612812 KB Output is correct
123 Correct 268 ms 612804 KB Output is correct
124 Correct 381 ms 620420 KB Output is correct
125 Correct 536 ms 638404 KB Output is correct
126 Correct 411 ms 636280 KB Output is correct
127 Execution timed out 2095 ms 638488 KB Time limit exceeded
128 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 272 ms 610920 KB Output is correct
2 Correct 249 ms 610864 KB Output is correct
3 Correct 256 ms 610836 KB Output is correct
4 Correct 263 ms 610880 KB Output is correct
5 Correct 257 ms 610880 KB Output is correct
6 Correct 259 ms 610800 KB Output is correct
7 Correct 280 ms 610892 KB Output is correct
8 Correct 272 ms 610884 KB Output is correct
9 Correct 270 ms 610804 KB Output is correct
10 Correct 252 ms 610816 KB Output is correct
11 Correct 270 ms 610844 KB Output is correct
12 Correct 258 ms 610864 KB Output is correct
13 Correct 259 ms 610764 KB Output is correct
14 Correct 255 ms 610816 KB Output is correct
15 Correct 264 ms 610868 KB Output is correct
16 Correct 249 ms 610876 KB Output is correct
17 Correct 255 ms 610820 KB Output is correct
18 Correct 266 ms 610884 KB Output is correct
19 Correct 272 ms 611640 KB Output is correct
20 Correct 250 ms 612608 KB Output is correct
21 Correct 263 ms 611836 KB Output is correct
22 Correct 261 ms 611656 KB Output is correct
23 Correct 275 ms 611624 KB Output is correct
24 Correct 288 ms 613268 KB Output is correct
25 Correct 272 ms 613360 KB Output is correct
26 Correct 256 ms 611572 KB Output is correct
27 Correct 269 ms 611644 KB Output is correct
28 Correct 263 ms 611652 KB Output is correct
29 Correct 280 ms 612716 KB Output is correct
30 Correct 265 ms 612348 KB Output is correct
31 Correct 269 ms 613020 KB Output is correct
32 Correct 285 ms 612720 KB Output is correct
33 Correct 279 ms 612720 KB Output is correct
34 Correct 276 ms 616860 KB Output is correct
35 Correct 274 ms 616904 KB Output is correct
36 Correct 266 ms 612784 KB Output is correct
37 Correct 279 ms 612772 KB Output is correct
38 Correct 284 ms 612744 KB Output is correct
39 Correct 576 ms 630064 KB Output is correct
40 Correct 267 ms 613200 KB Output is correct
41 Correct 274 ms 618268 KB Output is correct
42 Correct 318 ms 613636 KB Output is correct
43 Correct 272 ms 616864 KB Output is correct
44 Correct 275 ms 623120 KB Output is correct
45 Correct 284 ms 622876 KB Output is correct
46 Correct 365 ms 636248 KB Output is correct
47 Correct 521 ms 630188 KB Output is correct
48 Correct 502 ms 629964 KB Output is correct
49 Correct 385 ms 671012 KB Output is correct
50 Correct 385 ms 671060 KB Output is correct
51 Correct 426 ms 630308 KB Output is correct
52 Correct 425 ms 630076 KB Output is correct
53 Correct 576 ms 630100 KB Output is correct
54 Correct 277 ms 610868 KB Output is correct
55 Correct 254 ms 610852 KB Output is correct
56 Correct 264 ms 610816 KB Output is correct
57 Correct 255 ms 610912 KB Output is correct
58 Correct 263 ms 610880 KB Output is correct
59 Correct 264 ms 610780 KB Output is correct
60 Correct 292 ms 610868 KB Output is correct
61 Correct 312 ms 610876 KB Output is correct
62 Correct 274 ms 610880 KB Output is correct
63 Correct 264 ms 610808 KB Output is correct
64 Correct 265 ms 610836 KB Output is correct
65 Correct 263 ms 610760 KB Output is correct
66 Correct 281 ms 610880 KB Output is correct
67 Correct 270 ms 610788 KB Output is correct
68 Correct 282 ms 610888 KB Output is correct
69 Correct 297 ms 610848 KB Output is correct
70 Correct 287 ms 610892 KB Output is correct
71 Correct 265 ms 610800 KB Output is correct
72 Correct 239 ms 610880 KB Output is correct
73 Correct 253 ms 610764 KB Output is correct
74 Correct 258 ms 610780 KB Output is correct
75 Correct 271 ms 610884 KB Output is correct
76 Correct 299 ms 610872 KB Output is correct
77 Correct 284 ms 610788 KB Output is correct
78 Correct 266 ms 610864 KB Output is correct
79 Correct 292 ms 610868 KB Output is correct
80 Correct 279 ms 610776 KB Output is correct
81 Correct 267 ms 610908 KB Output is correct
82 Correct 252 ms 610816 KB Output is correct
83 Correct 287 ms 610840 KB Output is correct
84 Correct 319 ms 610852 KB Output is correct
85 Correct 310 ms 610880 KB Output is correct
86 Correct 272 ms 610764 KB Output is correct
87 Correct 296 ms 610852 KB Output is correct
88 Correct 268 ms 610864 KB Output is correct
89 Correct 264 ms 610860 KB Output is correct
90 Correct 313 ms 610864 KB Output is correct
91 Correct 280 ms 610796 KB Output is correct
92 Correct 261 ms 610832 KB Output is correct
93 Correct 264 ms 610848 KB Output is correct
94 Correct 266 ms 610836 KB Output is correct
95 Correct 270 ms 610808 KB Output is correct
96 Correct 267 ms 610812 KB Output is correct
97 Correct 257 ms 610912 KB Output is correct
98 Correct 255 ms 610764 KB Output is correct
99 Correct 279 ms 610880 KB Output is correct
100 Correct 263 ms 610864 KB Output is correct
101 Correct 270 ms 610796 KB Output is correct
102 Correct 297 ms 610864 KB Output is correct
103 Correct 262 ms 610864 KB Output is correct
104 Correct 256 ms 610812 KB Output is correct
105 Correct 268 ms 610964 KB Output is correct
106 Correct 258 ms 610816 KB Output is correct
107 Correct 257 ms 610880 KB Output is correct
108 Correct 267 ms 610804 KB Output is correct
109 Correct 262 ms 610900 KB Output is correct
110 Correct 263 ms 611344 KB Output is correct
111 Correct 277 ms 611904 KB Output is correct
112 Correct 314 ms 611880 KB Output is correct
113 Correct 287 ms 611700 KB Output is correct
114 Correct 243 ms 611632 KB Output is correct
115 Correct 293 ms 611652 KB Output is correct
116 Correct 277 ms 611720 KB Output is correct
117 Correct 244 ms 611664 KB Output is correct
118 Correct 266 ms 611532 KB Output is correct
119 Correct 298 ms 613504 KB Output is correct
120 Correct 259 ms 613024 KB Output is correct
121 Correct 422 ms 613536 KB Output is correct
122 Correct 276 ms 612812 KB Output is correct
123 Correct 268 ms 612804 KB Output is correct
124 Correct 381 ms 620420 KB Output is correct
125 Correct 536 ms 638404 KB Output is correct
126 Correct 411 ms 636280 KB Output is correct
127 Execution timed out 2095 ms 638488 KB Time limit exceeded
128 Halted 0 ms 0 KB -