# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
791559 | WongChun1234 | Digital Circuit (IOI22_circuit) | C++17 | 925 ms | 40048 KiB |
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;
typedef long long ll;
const int N=200050;
const ll MOD=1000002022;
int n,m,lz[N<<2];
ll dp[N],rdp[N],seg[N<<2],iseg[N<<2];
vector<int> p,a;
vector<ll> ch[N],pref[N],suff[N];
void build(int id,int l,int r){
if (l==r){
seg[id]=a[l-1]*rdp[l+n-1];
iseg[id]=(!a[l-1])*rdp[l+n-1];
//cout<<id<<" "<<l<<" "<<r<<" "<<seg[id]<<" "<<iseg[id]<<"\n";
return;
}
int m=(l+r)/2;
build(id*2,l,m);
build(id*2+1,m+1,r);
seg[id]=(seg[id*2]+seg[id*2+1])%MOD;
iseg[id]=(iseg[id*2]+iseg[id*2+1])%MOD;
//cout<<id<<" "<<l<<" "<<r<<" "<<seg[id]<<" "<<iseg[id]<<"\n";
}
void pushdown(int id){
lz[id]^=1;
swap(seg[id],iseg[id]);
}
void update(int id,int l,int r,int ql,int qr){
if (l>=ql&&r<=qr){
Compilation message (stderr)
# | 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... |