Submission #594180

# Submission time Handle Problem Language Result Execution time Memory
594180 2022-07-12T07:51:39 Z piOOE Sandcastle 2 (JOI22_ho_t5) C++17
15 / 100
5000 ms 3616 KB
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, m;
    cin >> n >> m;
    bool swapped = false;
    if (n > m) {
        swapped = true;
        swap(n, m);
    }
    vector<vector<int>> a(n, vector<int>(m));
    for (int i = 0; i < (swapped ? m : n); ++i) {
        for (int j = 0; j < (swapped ? n : m); ++j) {
            if (!swapped) {
                cin >> a[i][j];
            } else {
                cin >> a[j][i];
            }
        }
    }
    auto adj = [](int x1, int y1, int x2, int y2) {
        return abs(x1 - x2) + abs(y1 - y2) < 2;
    };
    int ans = 0;
    for (int x1 = 0; x1 < n; ++x1) {
        for (int y1 = 0; y1 < m; ++y1) {
            for (int x2 = x1; x2 < n; ++x2) {
                set<array<int, 3>> st;
                int cnt = 0;
                for (int y2 = y1; y2 < m; ++y2) {
                    for (int x = x1; x <= x2; ++x) {
                        auto it = st.lower_bound({a[x][y2], -1, -1});
                        if (it != st.end()) {
                            if (it != st.begin()) {
                                cnt -= !adj((*it)[1], (*it)[2], (*prev(it))[1], (*prev(it))[2]);
                            }
                            cnt += !adj(x, y2, (*it)[1], (*it)[2]);
                        }
                        if (it != st.begin()) {
                            it = prev(it);
                            cnt += !adj(x, y2, (*it)[1], (*it)[2]);
                        }
                        st.insert({a[x][y2], x, y2});
                    }
                    ans += cnt == 0;
                }
            }
        }
    }
    cout << ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Execution timed out 5053 ms 3616 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 2 ms 324 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 2 ms 324 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 131 ms 396 KB Output is correct
8 Correct 239 ms 412 KB Output is correct
9 Correct 1363 ms 416 KB Output is correct
10 Correct 1051 ms 408 KB Output is correct
11 Correct 141 ms 412 KB Output is correct
12 Correct 177 ms 332 KB Output is correct
13 Correct 1102 ms 408 KB Output is correct
14 Correct 509 ms 376 KB Output is correct
15 Correct 1068 ms 412 KB Output is correct
16 Correct 1201 ms 416 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 2 ms 324 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 131 ms 396 KB Output is correct
8 Correct 239 ms 412 KB Output is correct
9 Correct 1363 ms 416 KB Output is correct
10 Correct 1051 ms 408 KB Output is correct
11 Correct 141 ms 412 KB Output is correct
12 Correct 177 ms 332 KB Output is correct
13 Correct 1102 ms 408 KB Output is correct
14 Correct 509 ms 376 KB Output is correct
15 Correct 1068 ms 412 KB Output is correct
16 Correct 1201 ms 416 KB Output is correct
17 Correct 4323 ms 820 KB Output is correct
18 Execution timed out 5057 ms 768 KB Time limit exceeded
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 2 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 2 ms 324 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 131 ms 396 KB Output is correct
8 Correct 239 ms 412 KB Output is correct
9 Correct 1363 ms 416 KB Output is correct
10 Correct 1051 ms 408 KB Output is correct
11 Correct 141 ms 412 KB Output is correct
12 Correct 177 ms 332 KB Output is correct
13 Correct 1102 ms 408 KB Output is correct
14 Correct 509 ms 376 KB Output is correct
15 Correct 1068 ms 412 KB Output is correct
16 Correct 1201 ms 416 KB Output is correct
17 Correct 4323 ms 820 KB Output is correct
18 Execution timed out 5057 ms 768 KB Time limit exceeded
19 Halted 0 ms 0 KB -