제출 #1173716

#제출 시각아이디문제언어결과실행 시간메모리
1173716SpyrosAliv디지털 회로 (IOI22_circuit)C++20
2 / 100
180 ms4788 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;
bool sub1 = false;

void init(int N, int M, vector<int> P, vector<int> A) {
    n = N + M;
    if (N == 1) sub1 = true;
    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 (sub1) {
        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; 
    }
    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...