Main.cc: In function ‘void upd1(int, int, int)’: Main.cc:33:19: error: too few arguments to function ‘void brute(int, int, int, int)’ brute(bel[l],l,r);return ; ^ Main.cc:27:7: note: declared here }void brute(int bid,int l,int r,int vl){ ^~~~~ Main.cc:36:44: warning: statement has no effect [-Wunused-value] for(int i=bel[l]+1;i<=bel[r]-1;i++) tag[i]+vl; ~~~~~~^~~ Main.cc: In function ‘void slv()’: Main.cc:75:2: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(int i=1;i<=n;i++) tmp[i]=f[i];for(int i=1;i<=n;i++) f[dfn[i]]=tmp[i]; ^~~ Main.cc:75:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ for(int i=1;i<=n;i++) tmp[i]=f[i];for(int i=1;i<=n;i++) f[dfn[i]]=tmp[i]; ^~~