题目:https://codeforces.com/contest/1265/problem/B
看到题目后,想复杂,其实如果想清楚,就很简单
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N=2e5+5; 4 int pos[N]; 5 int main() 6 { 7 int n,t; 8 scanf("%d",&t); 9 while(t--) 10 { 11 scanf("%d",&n); 12 int num; 13 for(int i=1;i<=n;i++) 14 { 15 scanf("%d",&num); 16 pos[num]=i; 17 } 18 int l=pos[1],r=pos[1]; 19 for(int i=1;i<=n;i++) 20 { 21 l=min(pos[i],l); 22 r=max(pos[i],r); 23 if(r-l+1==i) 24 printf("1"); 25 else 26 printf("0"); 27 } 28 printf("\n"); 29 } 30 return 0; 31 }
原文:https://www.cnblogs.com/1024-xzx/p/11997101.html