Submission #727621

# Submission time Handle Problem Language Result Execution time Memory
727621 2023-04-21T03:27:46 Z PixelCat Vision Program (IOI19_vision) C++14
58 / 100
85 ms 8240 KB
#include "vision.h"
#ifdef NYAOWO
#include "grader.cpp"
#endif
 
#include <bits/stdc++.h>
#define For(i, a, b) for(int i = a; i <= b; i++)
#define Forr(i,a, b) for(int i = a; i >= b; i--)
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define sz(x) ((int)x.size())
#define eb emplace_back
// #define int LL
using namespace std;
using LL = long long;
using pii = pair<int, int>;
 
vector<vector<int>> dia1; // x + y, [0, H + W - 2]
vector<vector<int>> dia2; // x - y + W - 1, [0, H + W - 2]

int check(int k) {
    int n = sz(dia1);

    vector<int> v;
    For(i, 0, n - k - 1) {
        vector<int> q;
        For(j, 0, k) q.insert(q.end(), all(dia1[i + j]));
        // or = 1, xor = 0  =>  2 black cells
        v.eb(add_xor({add_or(q), add_xor(q)}));
    }
    int a = add_or(v);

    v.clear();
    For(i, 0, n - k - 1) {
        vector<int> q;
        For(j, 0, k) q.insert(q.end(), all(dia2[i + j]));
        // or = 1, xor = 0  =>  2 black cells
        v.eb(add_xor({add_or(q), add_xor(q)}));
    }
    int b = add_or(v);

    return add_and({a, b});
}

void construct_network(int H, int W, int K) {
    // std::vector<int> Ns;
    // Ns = {0, 1};
    // int a = add_and(Ns);
    // Ns = {0, a};
    // int b = add_or(Ns);
    // Ns = {0, 1, b};
    // int c = add_xor(Ns);
    // add_not(c);
    dia1.resize(H + W - 1);
    dia2.resize(H + W - 1);
    For(i, 0, H - 1) For(j, 0, W - 1) {
        int id = i * W + j;
        dia1[i + j].eb(id);
        dia2[i - j + W - 1].eb(id);
    }
    int a = check(K);
    int b = check(K - 1);
    b = add_not(b);
    add_and({a, b});
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 296 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 296 KB Output is correct
21 Correct 1 ms 300 KB Output is correct
22 Correct 1 ms 296 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 2 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 224 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 296 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 296 KB Output is correct
21 Correct 1 ms 300 KB Output is correct
22 Correct 1 ms 296 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 2 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 224 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 9 ms 1200 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 1 ms 212 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 2 ms 432 KB Output is correct
33 Correct 2 ms 340 KB Output is correct
34 Correct 9 ms 1108 KB Output is correct
35 Correct 13 ms 1492 KB Output is correct
36 Correct 10 ms 1108 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 296 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 296 KB Output is correct
21 Correct 1 ms 300 KB Output is correct
22 Correct 1 ms 296 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 2 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 224 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 9 ms 1200 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 1 ms 212 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 2 ms 432 KB Output is correct
33 Correct 2 ms 340 KB Output is correct
34 Correct 9 ms 1108 KB Output is correct
35 Correct 13 ms 1492 KB Output is correct
36 Correct 10 ms 1108 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
38 Incorrect 4 ms 4564 KB WA in grader: Too many inputs
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 9 ms 972 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 1 ms 300 KB Output is correct
5 Correct 2 ms 468 KB Output is correct
6 Correct 8 ms 852 KB Output is correct
7 Correct 9 ms 852 KB Output is correct
8 Correct 1 ms 296 KB Output is correct
9 Correct 2 ms 468 KB Output is correct
10 Correct 8 ms 852 KB Output is correct
11 Correct 8 ms 980 KB Output is correct
12 Correct 8 ms 980 KB Output is correct
13 Correct 6 ms 732 KB Output is correct
14 Correct 1 ms 304 KB Output is correct
15 Correct 2 ms 468 KB Output is correct
16 Correct 7 ms 816 KB Output is correct
17 Correct 8 ms 980 KB Output is correct
18 Correct 8 ms 980 KB Output is correct
19 Correct 8 ms 724 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 0 ms 304 KB Output is correct
22 Correct 1 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 4 ms 724 KB Output is correct
4 Correct 57 ms 6052 KB Output is correct
5 Correct 85 ms 8240 KB Output is correct
6 Correct 67 ms 6396 KB Output is correct
7 Correct 4 ms 684 KB Output is correct
8 Correct 8 ms 1200 KB Output is correct
9 Incorrect 4 ms 4436 KB WA in grader: Too many inputs
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 49 ms 5760 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 4 ms 724 KB Output is correct
4 Correct 8 ms 1108 KB Output is correct
5 Correct 2 ms 468 KB Output is correct
6 Correct 2 ms 468 KB Output is correct
7 Correct 24 ms 3056 KB Output is correct
8 Correct 24 ms 3060 KB Output is correct
9 Correct 47 ms 5832 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 296 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 296 KB Output is correct
21 Correct 1 ms 300 KB Output is correct
22 Correct 1 ms 296 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 2 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 224 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 9 ms 1200 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 1 ms 212 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 2 ms 432 KB Output is correct
33 Correct 2 ms 340 KB Output is correct
34 Correct 9 ms 1108 KB Output is correct
35 Correct 13 ms 1492 KB Output is correct
36 Correct 10 ms 1108 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
38 Incorrect 4 ms 4564 KB WA in grader: Too many inputs
39 Halted 0 ms 0 KB -