# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
869244 | abcvuitunggio | Digital Circuit (IOI22_circuit) | C++17 | 690 ms | 37412 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 <vector>
using namespace std;
const int mod=1000002022;
struct T{
int sum,val;
}st[800001];
T operator +(T a, T b){
return {(a.sum+b.sum)%mod,(a.val+b.val)%mod};
}
int n,a[200001],b[200001],lazy[200001],c[200001],id;
vector <int> ke[200001],d[200001];
void down(int node, int l, int r){
if (!lazy[node]||l==r)
return;
st[node<<1].val=(st[node<<1].sum-st[node<<1].val+mod)%mod;
lazy[node<<1]^=1;
st[node<<1|1].val=(st[node<<1|1].sum-st[node<<1|1].val+mod)%mod;
lazy[node<<1|1]^=1;
lazy[node]=0;
}
void build(int node, int l, int r){
if (l==r){
st[node]={b[l],a[l]*b[l]};
return;
}
int mid=(l+r)>>1;
build(node<<1,l,mid);
build(node<<1|1,mid+1,r);
st[node]=st[node<<1]+st[node<<1|1];
# | 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... |