krov.cpp:30:18: error: 've' does not name a type; did you mean 'vi'?
vi v, c, fc; ve<ll> fv; int n; ll s;
^~
vi
krov.cpp: In constructor 'tree::tree()':
krov.cpp:31:32: error: class 'tree' does not have any field named 'fv'
tree(): v(0), c(0), fc(0), fv(0), n(0), s(0) {};
^~
krov.cpp: In member function 'void tree::init()':
krov.cpp:36:9: error: 'fv' was not declared in this scope
fv.assign(sz(v) + 5, 0);
^~
krov.cpp:36:9: note: suggested alternative: 'v'
fv.assign(sz(v) + 5, 0);
^~
v
krov.cpp: In member function 'void tree::fvupd(int, int)':
krov.cpp:39:48: error: 'fv' was not declared in this scope
void fvupd(int i, int v) { for(i++; i < sz(fv); i += i & -i) fv[i] += v; }
^
krov.cpp:10:20: note: in definition of macro 'sz'
#define sz(x) int((x).size())
^
krov.cpp:39:48: note: suggested alternative: 'v'
void fvupd(int i, int v) { for(i++; i < sz(fv); i += i & -i) fv[i] += v; }
^
krov.cpp:10:20: note: in definition of macro 'sz'
#define sz(x) int((x).size())
^
krov.cpp: In member function 'll tree::fvget(int)':
krov.cpp:41:64: error: 'fv' was not declared in this scope
ll fvget(int i) { ll v {}; for(i++; i; i -= i & -i) v += fv[i]; re v; }
^~
krov.cpp:41:64: note: suggested alternative: 'v'
ll fvget(int i) { ll v {}; for(i++; i; i -= i & -i) v += fv[i]; re v; }
^~
v
krov.cpp: In function 'void solve()':
krov.cpp:4:18: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
#define fr(i, n) for(int i = 0; i < n; ++i)
^
krov.cpp:5:15: note: in expansion of macro 'fr'
#define fo(n) fr(i, n)
^~
krov.cpp:75:5: note: in expansion of macro 'fo'
fo(n) le.v.pb(a[i] - i); le.init();
^~
krov.cpp:75:30: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
fo(n) le.v.pb(a[i] - i); le.init();
^~
krov.cpp:4:18: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
#define fr(i, n) for(int i = 0; i < n; ++i)
^
krov.cpp:5:15: note: in expansion of macro 'fr'
#define fo(n) fr(i, n)
^~
krov.cpp:76:5: note: in expansion of macro 'fo'
fo(n) ri.v.pb(a[i] + i); ri.init();
^~
krov.cpp:76:30: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
fo(n) ri.v.pb(a[i] + i); ri.init();
^~