#import<cstdio>
int N,d[8<<15],p[8<<15],x,i;main(){scanf("%d",&N);for(;i<N;d[x]=++i)scanf("%d",&x);x=N;for(;--i;p[i]+=p[i+1])if(p[i+1]){if((d[i]<d[i+1])^(d[i+1]<d[x])^(d[x]<d[i])){++p[i];x=i+1;}}else if(d[i]<d[i+1])--x;else++p[i];printf("%d",p[1]);}
./Main.cpp:1:2: warning: #import is a deprecated GCC extension [-Wdeprecated]
#import<cstdio>
^
./Main.cpp: In function ‘int main()’:
./Main.cpp:2:50: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int N,d[8<<15],p[8<<15],x,i;main(){scanf("%d",&N);for(;i<N;d[x]=++i)scanf("%d",&x);x=N;for(;--i;p[i]+=p[i+1])if(p[i+1]){if((d[i]<d[i+1])^(d[i+1]<d[x])^(d[x]<d[i])){++p[i];x=i+1;}}else if(d[i]<d[i+1])--x;else++p[i];printf("%d",p[1]);}
^
./Main.cpp:2:83: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int N,d[8<<15],p[8<<15],x,i;main(){scanf("%d",&N);for(;i<N;d[x]=++i)scanf("%d",&x);x=N;for(;--i;p[i]+=p[i+1])if(p[i+1]){if((d[i]<d[i+1])^(d[i+1]<d[x])^(d[x]<d[i])){++p[i];x=i+1;}}else if(d[i]<d[i+1])--x;else++p[i];printf("%d",p[1]);}
...