Submission #547923

#TimeUsernameProblemLanguageResultExecution timeMemory
547923tht2005Ancient Machine (JOI21_ancient_machine)C++17
70 / 100
72 ms7752 KiB
#include "Anna.h"
#include <array>
#include <vector>

void Anna(int N, std::vector<char> S) {
    int i = 0;
    std::array<int, 3> cnt;
    cnt.fill(0);
    for(int i = 0; i < N; ++i)
        ++cnt[S[i] - 'X'];
    if(!cnt[0] || !cnt[1] || !cnt[2])
        return;
    while(S[i] != 'X')
        ++i;
    for(int j = 0; j < i; ++j)
        Send(0);
    Send(1);
    for(int j = i + 1; j < N; ++j)
        Send((int)(S[j] == 'Z'));
}
#include "Bruno.h"
#include <algorithm>
#include <vector>
#include <iostream>
#include <cassert>

void Bruno(int N, int L, std::vector<int> A) {
    if(L == 0) {
        for(int i = 0; i < N; ++i)
            Remove(i);
    }
    else {
        int i = 0;
        while(!A[i])
            ++i;
        for(int j = 0; j < i; ++j)
            Remove(j);
        for(int j = i + 1; j < N; ++j) {
            if(A[j]) {
                for(int k = j - 1; !A[k]; --k)
                    Remove(k);
                Remove(j);
            }
        }
        for(int j = N - 1; !A[j]; --j)
            Remove(j);
        Remove(i);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...