这个菜鸡调 C 调了一个半小时还 WA on #3,快来嘲讽他\kk
#include<bits/stdc++.h>
using namespace std;
int a[300005],h;
int main()
{
int t;
cin>>t;
while (t--){
string s;
cin>>s;
s=' '+s;
int now=0,flag=1,la=1,ch=0,lanow=0,cnt=1;
for (int i=1;i<=s.size();i++){
if (s[i]=='0'){
if (now<2 || (la==1 && lanow>=a[h])){
//cout<<1111111<<endl;
flag=0;
break;
}
if (binary_search(a+1,a+h+1,lanow)==0){
lanow=a[h];
}
//cout<<h<<endl;
la=0;
}
if (s[i]=='1'){
if (la==0 && binary_search(a+1,a+h+1,lanow)){
flag=0;
break;
}
la=1;
lanow=a[h];
}
if (s[i]=='+'){
now++;
h++;
a[h]=cnt++;
}
if (s[i]=='-'){
now--;
if (now<0){
flag=0;
break;
}
a[h]=0;
h--;
}
}
for (int i=1;i<=h+1000;i++){
a[i]=0;
}
h=0;
cout<<(flag?"YES":"NO")<<endl;
}
}