Submission #888194

#TimeUsernameProblemLanguageResultExecution timeMemory
888194LudisseyDigital Circuit (IOI22_circuit)C++17
2 / 100
1333 ms12864 KiB
#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 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...