Detalii evaluare #63950572

Rezumat problemă

Undeva, într-un ținut îndepărtat, își desfășoară activitatea o vestită companie, mai exact Mondial Computers SRL. Aceștia lucrează cu mulți clienți de renume, deci au nevoie de multă forță de muncă. Astfel, ei au o bază de date în care mențin informații despre angajații lor, dar, recent, echipa care se ocupa de această bază de date a dat dovadă de un randament scăzut, iar ca urmare a acestui fapt, manager-ul general a decis, fără a ține cont de consecințe, să îi concedieze, iar aceștia, de supărare, au șters înainte de a pleca din companie toate datele angajaților. Acum manager-ul are nevoie de ajutorul vostru(voluntar, desigur) pentru reorganizarea acestei baze de date până reușește să angajeze noi oameni.

Detalii

Problema company_tree Operații I/O tastatură/ecran
Limita timp 2 secunde Limita memorie Total: 128 MB / Stivă 32 MB
Id soluție #63950572 Utilizator Peter Tobias (PeterTobias)
Fișier company_tree.cpp Dimensiune 7.50 KB
Data încărcării 29 Martie 2026, 18:05 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

company_tree.cpp:1:2: error: invalid preprocessing directive #pragmaGCCoptimize
 #pragmaGCCoptimize("O3")

  ^
company_tree.cpp:7:1: error: 'constintMAXN' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
 ^
company_tree.cpp:7:21: error: 'constintB' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                     ^
company_tree.cpp:7:35: error: 'classFastRead' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                   ^
company_tree.cpp:7:645: error: 'MAXN' was not declared in this scope
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ^
company_tree.cpp:7:651: error: 'intp' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ^
company_tree.cpp:7:662: error: 'intF_s' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
company_tree.cpp:7:675: error: 'longlongt_sum' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^
company_tree.cpp:7:697: error: 'intt_min_p' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_nx[MAXN],l_pr[MAXN];intF_c[MAXN],srt_F[MAXN],mx_F;intfkt[205][100005];intblk_t[205];inttmp_fkt[100005];inlinevoidadd_emp(intnode,intemp){l_nx[emp]=l_h[node];l_pr[emp]=0;if(l_h[node]!=0)l_pr[l_h[node]]=emp;l_h[node]=emp;}inlinevoidrem_emp(intnode,intemp){if(l_pr[emp]!=0)l_nx[l_pr[emp]]=l_nx[emp];elsel_h[node]=l_nx[emp];if(l_nx[emp]!=0)l_pr[l_nx[emp]]=l_pr[emp];}voidpushup(intnode){intL=2*node,R=2*node+1;t_sum[node]=t_sum[L]+t_sum[R];if(t_min_p[L]==t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L]+t_c_min_p[R];t_s_min_p[node]=min(t_s_min_p[L],t_s_min_p[R]);if(t_max_m_p[L]>t_max_m_p[R]||(t_max_m_p[L]==t_max_m_p[R]&&t_max_m_p_idx[L]<t_max_m_p_idx[R])){t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];}else{t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];}pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}elseif(t_min_p[L]<t_min_p[R]){t_min_p[node]=t_min_p[L];t_c_min_p[node]=t_c_min_p[L];t_s_min_p[node]=min(t_s_min_p[L],t_min_p[R]);t_max_m_p[node]=t_max_m_p[L];t_max_m_p_idx[node]=t_max_m_p_idx[L];pair<int,int>ot=max(make_pair(t_max_oth[L],-t_max_oth_idx[L]),make_pair(t_max_v[R],-t_max_v_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}else{t_min_p[node]=t_min_p[R];t_c_min_p[node]=t_c_min_p[R];t_s_min_p[node]=min(t_min_p[L],t_s_min_p[R]);t_max_m_p[node]=t_max_m_p[R];t_max_m_p_idx[node]=t_max_m_p_idx[R];pair<int,int>ot=max(make_pair(t_max_v[L],-t_max_v_idx[L]),make_pair(t_max_oth[R],-t_max_oth_idx[R]));t_max_oth[node]=ot.first;t_max_oth_idx[node]=-ot.second;}pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;}voidapply_update(intnode,intx){if(x<=t_min_p[node])return;longlongdiff=(longlong)x-t_min_p[node];t_sum[node]+=diff*t_c_min_p[node];t_min_p[node]=x;t_max_m_p[node]+=diff;pair<int,int>b=max(make_pair(t_max_m_p[node],-t_max_m_p_idx[node]),make_pair(t_max_oth[node],-t_max_oth_idx[node]));t_max_v[node]=b.first;t_max_v_idx[node]=-b.second;t_lz[node]=x;}voidpushdown(intnode){if(t_lz[node]==0)return;intL=2*node,R=2*node+1;if(t_lz[node]>t_min_p[L])apply_update(L,t_lz[node]);if(t_lz[node]>t_min_p[R])apply_update(R,t_lz[node]);t_lz[node]=0;}voidbld(intnode,intl,intr){if(l==r){intu=eu_n[l];t_sum[node]=p[u];t_min_p[node]=p[u];t_s_min_p[node]=2000000000;t_c_min_p[node]=1;t_max_m_p[node]=p[u]-dep[u];t_max_m_p_idx[node]=u;t_max_oth[node]=-2000000000;t_max_oth_idx[node]=1000000000;t_max_v[node]=p[u]-dep[u];t_max_v_idx[node]=u;t_lz[node]=0;return;}intmid=(l+r)/2;bld(2*node,l,mid);bld(2*node+1,mid+1,r);pushup(node);}voidupdate_max(intnode,intl,intr,intql,intqr,intx){if(l>qr||r<ql||x<=t_min_p[node])return;if(ql<=l&&r<=qr&&x<t_s_min_p[node]){apply_update(node,x);return;}pushdown(node);intmid=(l+r)/2;update_max(2*node,l,mid,ql,qr,x);update_max(2*node+1,mid+1,r,ql,qr,x);pushup(node);}longlongquery_sum(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)returnt_sum[node];pushdown(node);intmid=(l+r)/2;longlongrs=0;if(ql<=mid)rs+=query_sum(2*node,l,mid,ql,qr);if(qr>mid)rs+=query_sum(2*node+1,mid+1,r,ql,qr);returnrs;}pair<int,int>query_max_val(intnode,intl,intr,intql,intqr){if(ql<=l&&r<=qr)return{t_max_v[node],-t_max_v_idx[node]};pushdown(node);intmid=(l+r)/2;pair<int,int>rs={-2000000000,-1000000000};if(ql<=mid)rs=max(rs,query_max_val(2*node,l,mid,ql,qr));if(qr>mid)rs=max(rs,query_max_val(2*node+1,mid+1,r,ql,qr));returnrs;}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);FastReadfr;intn=0;if(!fr.readInt(n))return0;for(inti=1;i<=n;++i){intv=0;if(!fr.readInt(v))return0;p[i]=v;}for(inti=0;i<n-1;++i){intu=0,v=0;if(!fr.readInt(u)||!fr.readInt(v))return0;adj[u].push_back(v);adj[v].push_back(u);}intm=0;if(!fr.readInt(m))return0;vector<int>f_v;f_v.push_back(-1);for(inti=1;i<=m;++i){intq=0;if(!fr.readInt(q))return0;F_s[i]=q;f_v.push_back(q);}sort(f_v.begin()+1,f_v.end());f_v.erase(unique(f_v.begin()+1,f_v.end()),f_v.end());mx_F=f_v.size()-1;for(inti=1;i<=mx_F;++i)srt_F[i]=f_v[i];for(inti=1;i<=m;++i){F_c[i]=lower_bound(f_v.begin()+1,f_v.end(),F_s[i])-f_v.begin();}for(inti=0;i<=n;++i)ptr_adj[i]=0;inttop=0;stck[++top]=1;in[1]=++tmr;eu_n[tmr]=1;dep[1]=0;intpr_of[MAXN]={0};while(top>0){intu=stck[top];if(ptr_adj[u]<(int)adj[u].size()){intv=adj[u][ptr_adj[u]++];if(v!=pr_of[u]){pr_of[v]=u;dep[v]=dep[u]+1;in[v]=++tmr;eu_n[tmr]=v;ptr_adj[v]=0;stck[++top]=v;}}else{out_n[u]=tmr;top--;}}bld(1,1,n);for(inti=1;i<=m;++i){emp_p[i]=1;add_emp(1,i);intfc=F_c[i];intb=in[1]/B;for(intj=fc;j<=mx_F;j+=j&-j)fkt[b][j]++;blk_t[b]++;}intq=0;if(!fr.readInt(q))return0;while(q--){intty=0;if(!fr.readInt(ty))break;if(ty==1){intk=0;if(!fr.readInt(k))break;intcr=emp_p[k];pair<int,int>bs=query_max_val(1,1,n,in[cr],out_n[cr]);intbn=-bs.second;if(bn!=cr){intop=in[cr];intnp=in[bn];intfv=F_c[k];rem_emp(cr,k);add_emp(bn,k);emp_p[k]=bn;intbo=op/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bo][j]--;blk_t[bo]--;intbne=np/B;for(intj=fv;j<=mx_F;j+=j&-j)fkt[bne][j]++;blk_t[bne]++;}}elseif(ty==2){ints=0,x=0;longlongSv=0;if(!fr.readInt(s)||!fr.readLL(Sv)||!fr.readInt(x))break;longlongs_sub=query_sum(1,1,n,in[s],out_n[s]);if(s_sub<Sv)update_max(1,1,n,in[s],out_n[s],x);}elseif(ty==3){ints=0,A=0;if(!fr.readInt(s)||!fr.readInt(A))break;intL=in[s],R=out_n[s];intbL=L/B,bR=R/B;inttt=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}for(intb=bL+1;b<bR;++b)tt+=blk_t[b];for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e])tt++;}}if(tt<A){cout<<"-1\n";}else{inttg=tt-A+1;intcf=0;if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]++;}}}for(intsp=1<<17;sp>0;sp/=2){intnf=cf+sp;if(nf>mx_F)continue;intss=tmp_fkt[nf];if(bL!=bR){for(intb=bL+1;b<bR;++b)ss+=fkt[b][nf];}if(tg>ss){tg-=ss;cf=nf;}}if(bL==bR){for(inti=L;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}else{for(inti=L;i<(bL+1)*B;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}for(inti=bR*B;i<=R;++i){for(inte=l_h[eu_n[i]];e!=0;e=l_nx[e]){for(intj=F_c[e];j<=mx_F;j+=j&-j)tmp_fkt[j]--;}}}cout<<srt_F[cf+1]<<"\n";}}}return0;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ^
company_tree.cpp:7:765: error: 'intt_max_v' does not name a type
 constintMAXN=100005;constintB=500;classFastRead{FILE*f;charbuffer[131072];intpos,len;public:FastRead(){f=stdin;pos=0;len=0;if(f)len=fread(buffer,1,131072,f);}inlinecharnC(){if(pos==len){if(len<131072)return0;pos=0;len=fread(buffer,1,131072,f);if(len==0)return0;}returnbuffer[pos++];}inlineboolreadInt(int&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}inlineboolreadLL(longlong&x){charc=nC();while(c!=0&&(c<'0'||c>'9'))c=nC();if(c==0)returnfalse;x=0;while(c>='0'&&c<='9'){x=x*10+(c-'0');c=nC();}returntrue;}~FastRead(){if(f&&f!=stdin)fclose(f);}};vector<int>adj[MAXN];intp[MAXN];intF_s[MAXN];longlongt_sum[400005];intt_min_p[400005],t_s_min_p[400005],t_lz[400005],t_c_min_p[400005];intt_max_v[400005],t_max_v_idx[400005];intt_max_m_p[400005],t_max_m_p_idx[400005];intt_max_oth[400005],t_max_oth_idx[400005];intin[MAXN],out_n[MAXN],eu_n[MAXN],tmr=0;intdep[MAXN],ptr_adj[MAXN],stck[MAXN];intemp_p[MAXN];intl_h[MAXN],l_

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema company_tree face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!