This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "circuit.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
int N,M;
const int MOD=1e9+2022;
vector<vector<int>> tree;
vector<int> p;
vector<vector<bool>> toChange;
vector<int> state;
vector<int> depth;
vector<int> poss;
vector<vector<int>> memo;
void init(signed n, signed m, std::vector<signed> P, std::vector<signed> A) {
N=n; M=m;
p.resize(N+M);
for (int i = 0; i < N+M; i++) p[i]=P[i];
tree.resize(N+M); state.resize(N+M);
toChange.resize(N+M,vector<bool>(2, false));
memo.resize(N+M, vector<int>(2,-1));
for (int i = 1; i < N+M; i++) tree[P[i]].push_back(i);
for (int i = N; i < N+M; i++) state[i] = A[i-N];
}
signed count_ways(signed L, signed R) {
for (int i = L; i <= R; i++) state[i] = 1-state[i];
int d=0;
for (int i = N; i < N+M; i++) d+=state[i];
return d;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |