Submission #334053

#TimeUsernameProblemLanguageResultExecution timeMemory
334053dolphingarlicBroken Device (JOI17_broken_device)C++14
41 / 100
45 ms2888 KiB
#include "Annalib.h"

void Anna(int N, long long X, int K, int P[]) {
    bool broken[150];
    for (int i = 0; i < N; i++) broken[i] = false;
    for (int i = 0; i < K; i++) broken[P[i]] = true;

    for (int i = 0, j = 0; i < N; i++) {
        if (i == N - 1 || broken[i] || broken[i + 1] || j > 60) Set(i, 0);
        else {
            if (X & (1ll << j)) {
                Set(i, 1);
                Set(i + 1, 1);
            } else {
                Set(i, 1);
                Set(i + 1, 0);
            }
            i++, j++;
        }
    }
}
#include "Brunolib.h"

long long Bruno(int N, int A[]) {
    long long ans = 0;
    for (int i = 0, j = 0; i < N - 1 && j <= 60; i++) {
        if (A[i]) {
            ans += A[i + 1] * (1ll << j);
            i++, j++;
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...