Submission #684490

# Submission time Handle Problem Language Result Execution time Memory
684490 2023-01-21T10:52:23 Z mjhmjh1104 Ancient Machine (JOI21_ancient_machine) C++17
69 / 100
57 ms 8376 KB
#include "Anna.h"
#include <vector>
using namespace std;

void Anna(int n, vector<char> s) {
    int k = 0;
    vector<int> v;
    for (int i = 0; i < n; i++) {
        if (s[i] != 'X') {
            if (!v.empty() && v.back() == 1) v.back() = 2;
            else if (!v.empty() && v.back() == 2) v.back() = 3;
            else v.push_back(1);
        } else {
            v.push_back(-1);
            for (int j = i; j < i + 1; j++) if (j < n && s[j] == 'Z') k = j;
            i++;
        }
        if (i < n && s[i] == 'Z') k = i;
    }
    for (int i = 0; i < (int)v.size(); i++) {
        if (v[i] == 1) Send(0), Send(0);
        else if (v[i] == 2) Send(0), Send(1);
        else if (v[i] == 3) Send(1), Send(0);
        else if (!i || (v[i - 1] != 1 && v[i - 1] != 2)) Send(1), Send(1);
    }
    for (int t = 0; t <= 16; t++) Send(k & 1 << t ? 1 : 0);
}
#include "Bruno.h"
#include <vector>
using namespace std;

void Bruno(int n, int l, vector<int> b) {
    int lt = n, rt = 0;
    vector<int> a;
    for (int i = 0; i < (int)b.size() - 17; i += 2) {
        if (!b[i] && !b[i + 1]) a.push_back(0), a.push_back(1), a.push_back(0);
        else if (!b[i]) a.push_back(0), a.push_back(0), a.push_back(1), a.push_back(0);
        else if (!b[i + 1]) a.push_back(0), a.push_back(0), a.push_back(0);
        else a.push_back(1), a.push_back(0);
    }
    while ((int)a.size() > n) a.pop_back();
    for (int i = (int)b.size() - 17; i < (int)b.size(); i++) a.push_back(b[i]);
    for (int t = 0; t <= 16; t++) if (a[n + t]) rt |= 1 << t;
    for (int i = n - 1; i >= 0; i--) if (a[i] || !i) {
        for (int j = i + 1; j < lt; j++) if (j != rt) Remove(j);
        if (i != rt) Remove(i);
        lt = i;
    }
    Remove(rt);
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 516 KB Output is correct
2 Correct 1 ms 520 KB Output is correct
3 Correct 1 ms 512 KB Output is correct
4 Correct 2 ms 592 KB Output is correct
5 Correct 1 ms 516 KB Output is correct
6 Correct 1 ms 520 KB Output is correct
7 Correct 0 ms 516 KB Output is correct
8 Correct 1 ms 520 KB Output is correct
9 Correct 0 ms 512 KB Output is correct
10 Correct 0 ms 520 KB Output is correct
11 Correct 0 ms 508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 47 ms 8168 KB Partially correct
2 Partially correct 46 ms 8148 KB Partially correct
3 Partially correct 46 ms 8028 KB Partially correct
4 Partially correct 46 ms 8048 KB Partially correct
5 Partially correct 46 ms 8052 KB Partially correct
6 Partially correct 46 ms 8016 KB Partially correct
7 Partially correct 46 ms 8256 KB Partially correct
8 Partially correct 47 ms 8144 KB Partially correct
9 Partially correct 47 ms 8032 KB Partially correct
10 Partially correct 47 ms 8032 KB Partially correct
11 Partially correct 46 ms 8140 KB Partially correct
12 Partially correct 46 ms 8124 KB Partially correct
13 Partially correct 56 ms 8376 KB Partially correct
14 Correct 54 ms 7932 KB Output is correct
15 Correct 51 ms 8284 KB Output is correct
16 Correct 50 ms 8184 KB Output is correct
17 Partially correct 57 ms 8340 KB Partially correct
18 Correct 52 ms 7892 KB Output is correct
19 Correct 52 ms 8016 KB Output is correct
20 Partially correct 46 ms 8192 KB Partially correct
21 Partially correct 45 ms 8128 KB Partially correct
22 Correct 52 ms 8016 KB Output is correct
23 Correct 48 ms 8036 KB Output is correct
24 Correct 50 ms 8044 KB Output is correct
25 Correct 54 ms 7880 KB Output is correct
26 Correct 52 ms 7908 KB Output is correct
27 Correct 54 ms 7960 KB Output is correct
28 Correct 53 ms 7916 KB Output is correct
29 Correct 52 ms 7912 KB Output is correct
30 Correct 52 ms 7968 KB Output is correct
31 Correct 52 ms 8000 KB Output is correct
32 Correct 46 ms 8120 KB Output is correct
33 Correct 51 ms 8044 KB Output is correct