#include <stdio.h>
#define max 100001
int stack[max];
int top=-1;
int empty()
{
if(top<0) return 1;
else return 0;
}
void push(int v)
{
stack[++top]=v;
}
int pop()
{
return stack[top--];
}
int peek()
{
return stack[top];
}
int main() {
int a;
int x[100001],y[300000];
scanf("%d",&a);
for(int i=1;i<=a;i++)
{
scanf("%d",&x[i]);
}
int k=1,p=1,z=1;
while(k!=a)
{
if(empty()==0 && x[k]==peek())
{
pop();
y[z++]=0;
k++;
}
else if(p<=a)
{
push(p);
p++;
y[z++]=1;
}
else
{
printf("NO");
z=0;
break;
}
}
for(int i=1;i<=z;i++)
{
if(y[i]==1) printf("+\n");
else if(y[i]==0) printf("-\n");
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: