Submission #835490

#TimeUsernameProblemLanguageResultExecution timeMemory
835490ma_moutahidDigital Circuit (IOI22_circuit)C++17
0 / 100
248 ms4148 KiB
#include <vector> #include<bits/stdc++.h> #include "circuit.h" using namespace std; #define vi vector<int> #define vii vector<vi> #define ll long long #define vl vector<ll> int n,m; vii g; vl ways; int mod=1000002022; void init(int N, int M, std::vector<int> P, std::vector<int> A) { n=N; m=M; g.resize(N+M); ways.resize(M+N); for(int i=1 ;i<N+M;i++){ g[P[i]].push_back(i); } for(int i=N;i<N+M;i++){ ways[i]=A[i-N]; } } void dfs(int node){ if(g[node].size()==0)return; ways[node]=2*ways[g[node][0]]*ways[g[node][1]]+ways[g[node][1]]+ways[g[node][0]]; ways[node]%=mod; } int count_ways(int L, int R) { for(int i=L;i<=R;i++){ ways[i]=!ways[i]; } dfs(0); return ways[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...