Submission #1150257

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11502572025-02-14 09:43:51nikolashamiIndex (COCI21_index)C++20
110 / 110
1175 ms97244 KiB
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll N=2e5,N2=5+24*N;
ll root[N2],lc[N2],rc[N2],st[N2],nd;
void bd(ll lik,ll l=1,ll r=N){
if(l==r)return;
lc[lik]=++nd;
rc[lik]=++nd;
bd(lc[lik],l,(l+r)/2);
bd(rc[lik],(l+r)/2+1,r);
}
void upd(ll pr,ll tr,ll id,ll l=1,ll r=N){
if(l==r){st[tr]=1+st[pr];return;}
ll md=(l+r)/2;
if(id<=md){
rc[tr]=rc[pr];
lc[tr]=++nd;
upd(lc[pr],lc[tr],id,l,md);
}else{
lc[tr]=lc[pr];
rc[tr]=++nd;
upd(rc[pr],rc[tr],id,md+1,r);
}
st[tr]=st[lc[tr]]+st[rc[tr]];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...