school.cpp: In function 'void sort(int*, int, int)':
school.cpp:10:8: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
10 | while(j<k)switch(compar(aa[j],p)){case 0:++j;break;case -1:tmp=aa[j],aa[j]=aa[i],aa[i]=tmp,++i,++j;break;case 1:tmp=aa[--k],aa[k]=aa[j],aa[j]=tmp;break;}sort(aa,l,i);l=k;}}
| ^~~~~
school.cpp:10:161: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
10 | while(j<k)switch(compar(aa[j],p)){case 0:++j;break;case -1:tmp=aa[j],aa[j]=aa[i],aa[i]=tmp,++i,++j;break;case 1:tmp=aa[--k],aa[k]=aa[j],aa[j]=tmp;break;}sort(aa,l,i);l=k;}}
| ^~~~
school.cpp: In function 'int main()':
school.cpp:38:19: warning: comparison of integer expressions of different signedness: 'std::multiset<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
38 | for(;is.size()<s;)
| ~~~~~~~~~^~
school.cpp:59:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
59 | for(auto[x,y]:im)z+=x;for(auto[x,y]:is)z+=x;
| ^~~
school.cpp:59:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
59 | for(auto[x,y]:im)z+=x;for(auto[x,y]:is)z+=x;
| ^~~
school.cpp:31:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
31 | scanf("%d%d%d",&n,&m,&s);for(int i=0;i<n;++i)scanf("%d%d",a+i,b+i),o[i]=i,o2[i]=i;
| ~~~~~^~~~~~~~~~~~~~~~~~~
school.cpp:31:55: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
31 | scanf("%d%d%d",&n,&m,&s);for(int i=0;i<n;++i)scanf("%d%d",a+i,b+i),o[i]=i,o2[i]=i;
| ~~~~~^~~~~~~~~~~~~~~~