foo.cpp: In function 'void Tarjan(int)':
foo.cpp:64:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < G[u].size(); i += 1){
~~^~~~~~~~~~~~~
foo.cpp: In function 'int main()':
foo.cpp:114:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for (int i = 1; i <= n; i += 1) us.insert(find(i));ansa = us.size();
^~~
foo.cpp:114:53: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for (int i = 1; i <= n; i += 1) us.insert(find(i));ansa = us.size();
^~~~
foo.cpp:119:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < G[i].size(); i += 1){
~~^~~~~~~~~~~~~
foo.cpp: In function 'void initp()':
foo.cpp:35:42: warning: iteration 110 invokes undefined behavior [-Waggressive-loop-optimizations]
for (int i = 0; i <= maxn; i += 1) p[i] = i;
~~~~~^~~
foo.cpp:35:20: note: within this loop
for (int i = 0; i <= maxn; i += 1) p[i] = i;
~~^~~~~~~