제출 #835485

#제출 시각아이디문제언어결과실행 시간메모리
835485ma_moutahid디지털 회로 (IOI22_circuit)C++17
2 / 100
321 ms3408 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; vi state; int total=0; void init(int N, int M, std::vector<int> P, std::vector<int> A) { n=N; m=M; g.resize(N); ways.resize(M+N); for(int i=1 ;i<N+M;i++){ g[P[i]].push_back(i); } state.resize(M); for(int i=N;i<N+M;i++){ state[i-N]=A[i-N]; total+=A[i-N]; } } // void dfs(int node){ // ll prod =1; // int add=0; // for(int child:g[node]){ // if(child<n)dfs(child); // else { // add+=ways[child]; // continue; // } // prod*=ways[child]+1; // prod%=mod; // } // ways[node]=prod-1+add; // } int count_ways(int L, int R) { for(int i=L-n;i<=R-n;i++){ total-=state[i]; state[i]=!state[i]; total+=state[i]; } return total; }
#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...