Submission #1363341

#TimeUsernameProblemLanguageResultExecution timeMemory
1363341solution6312Broken Device (JOI17_broken_device)C++17
0 / 100
12 ms1452 KiB
#include "Annalib.h"
#include <iostream>
#include <cassert>
using namespace std;
using ll=long long;

void Set(int pos, int bit);

void Anna(int N, ll X, int K, int P[])
{
    assert(N==150);
    int lft=min(P[0], 60);
    for (int i=lft; i<lft+90; i++) Set(i, 0);
    for (int i=0; i<60; i++)
    {
        if (i<lft) Set(i, ((X>>i)&1));
        else Set(i+90, ((X>>i)&1));
    }
}
#include "Brunolib.h"
#include <iostream>
#include <cassert>
using namespace std;
using ll=long long;

ll Bruno(int N, int A[])
{
    assert(N==150);
    int prv=-1;
    for (int lft=0; lft<=60; lft++)
    {
        bool f=1;
        for (int i=lft; i<lft+90; i++)
        {
            if (A[i])
            {
                f=0;
                break;
            }
        }
        if (f)
        {
            ll ans=0;
            for (int i=0; i<lft; i++) if (A[i]) ans^=(1<<i);
            for (int i=lft; i<60; i++) if (A[i+90]) ans^=(1<<i);
            return ans;
        }
    }
    return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...