Submission #1294531

#TimeUsernameProblemLanguageResultExecution timeMemory
1294531Ice_manAncient Machine (JOI21_ancient_machine)C++20
70 / 100
44 ms6480 KiB
#include "Anna.h"
#include <vector>



void Anna(int N, std::vector<char> S)
{
    bool lamp = false;

    for(char& c : S)
        if(lamp == false)
        {
            if(c == 'X')
                lamp = true;
            Send(lamp);
        }
        else if(c == 'Z')
            Send(1);
        else
            Send(0);
}
#include "Bruno.h"
#include <vector>



void Bruno(int N, int L, std::vector<int> A)
{
    int lamp = 0;
    int xx = -1;

    std::vector <bool> used;
    used.assign(N , false);


    for(int i = 0; i < L; i++)
    {
        if(A[i] == 1)
        {
            int pp = i - 1;
            while(A[pp] == false && pp >= 0)
            {
                if(used[pp] == true)
                    break;

                Remove(pp);
                used[pp] = 1;

                pp--;
            }

            if(lamp == true && used[i] == false)
            {
                Remove(i);
                used[i] = true;
            }
            else
                xx = i;
        }


        lamp |= A[i];
    }

    if(xx != -1)
    {
        Remove(xx);
        used[xx] = true;
    }

    for(int i = 0; i < N; i++)
        if(used[i] == false)
            Remove(i);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...