Submission #1173711

#TimeUsernameProblemLanguageResultExecution timeMemory
1173711SpyrosAlivDigital Circuit (IOI22_circuit)C++20
0 / 100
187 ms4972 KiB
#include <bits/stdc++.h>
using namespace std;

const int MOD = 1e9 + 2022;

int n;
vector<vector<int>> tree;
vector<int> dp;
bool binary = true;

void init(int N, int M, vector<int> P, vector<int> A) {
    n = N + M;
    tree.clear();
    tree.resize(n);
    for (int i = 1; i < n; i++) {
        tree[P[i]].push_back(i);
        tree[i].push_back(P[i]);
        if ((i - 1) / 2 != P[i]) {
            binary = false;
        }
    }
    dp.assign(n, 0);
    for (int i = 0; i < M; i++) {
        dp[i + n] = A[i];
    }
}

int count_ways(int L, int R) {
    if (n == 1) {
        int tot = 0;
        for (int i = L; i <= R; i++) dp[i] = !dp[i];
        for (int i = 0; i < n; i++) tot += dp[i];
        return tot + 1; 
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...