void solved()
{
int n;
cin >> n;
//储存出栈次序
ifor(i, 0, n - 1)
{
cin >> a[i];
}
int temp = 1;
//判断栈顶元素是否和即将要出栈的元素是否相等不相等继续向栈里面丢数据,
//相等则删除栈顶,继续循环,知道栈的元素为空
/*Determine whether the element at the top of the stack is equal to the element to be popped.
Continue to throw data into the stack.
If it is equal, delete the top of the stack and continue to loop until the element of the stack is empty.*/
for (int i = 0; i < n&&temp<=n;)
{
das.push(temp++);
while (!das.empty()&&das.top() == a[i])
{
das.pop();
++i;
}
}
if (das.empty())
cout<<"OK";
else
cout<<"NO";
return;
}