/*
#include <stdio.h>
#include <string.h>

char chess[52][52];
char chess1[8][8]={{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}};

char chess2[8][8]={{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'}, 
{'B','W','B','W','B','W','B','W'},
{'W','B','W','B','W','B','W','B'},
{'B','W','B','W','B','W','B','W'}};


int Min(int a, int b) {
    return (a>b ? b : a);
}

int main() {
    int m, n, min_1=0, min_2=0, min=2501;
    scanf("%d %d", &m, &n);

    for(int i=0; i<m; i++) {
        scanf("%s", chess[i]);
    }

    //debuging 
     for(int i=0; i<m; i++, puts("")) {
        for(int j=0; j<n; j++)
            printf("%c", chess[i][j]);
    }
    

    for(int i=0; i<m-7; i++) {
        for(int j=0; j<n-7; j++) {
            int min_1=0, min_2=0;
            for(int k=i; k<i+8; k++) {
                for(int h=j; h<j+8; h++) {
                    if(chess1[k-i][h-j]!=chess[k][h]) min_1++;
                    if(chess2[k-i][h-j]!=chess[k][h]) min_2++;
                }
            }
            //printf("%d %d\n", min_1,min_2);
            if(min > Min(min_1, min_2)) min = Min(min_1, min_2);
        }
    }

    printf("%d", min);
}
*/
/* 프린터 큐
#include <stdio.h>
#include <algorithm>
#include <queue>

using namespace std;

struct doc
{
    int im; //중요도
    int order; //문서 번호
};

bool cmp(int a, int b) {
    return a>b; //내림차순
}

int main() {
    int t;
    scanf("%d", &t);

    for(int i=0; i<t; i++) {
        int n, m, m_im;
        scanf("%d %d", &n, &m);

        queue<doc> q; //문서번호, 중요도 저장
        int IM[110]; //중요도 저장

        for(int i=0; i<n; i++) {
            int a;
            scanf("%d", &a);
            q.push({a, i});
            IM[i]=a;
            if(m==i) m_im=a; //m번째 위치 중요도 저장
        }

        sort(IM, IM+n, cmp); //중요도 오름차순 정렬

        int cnt=1;
        while(!q.empty()) {
            doc v = q.front();
            q.pop();

            if(v.im==IM[cnt-1]) {
                if(v.im == m_im && v.order == m) 
                    printf("%d", cnt);

                cnt++;
            }
            else {
                q.push(v);
            }
        }

        puts("");
    }
}

#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

struct word{

    char s[55];
    int len;

};

bool cmp(word s1, word s2) {
    if(s1.len != s2.len) return s1.len < s2.len;
    return strcmp(s1.s, s2.s) < 0;
}

int main() {
    int n;
    scanf("%d", &n);
    struct word W[20000];

    for(int i=0; i<n; i++) {
        scanf("%s", W[i].s);
        W[i].len = strlen(W[i].s);
    }

    sort(W, W+n, cmp);

    printf("%s\n", W[0].s);
    for(int i=1; i<n; i++) {
        if(strcmp(W[i].s, W[i-1].s))
            printf("%s\n", W[i].s);
    }
}
*/
#include <stdio.h>
//#include <stack>

int arr[100010], arr2[100010], Max=-1;

int main() {
    
    int n, flag=0;
    scanf("%d", &n);

    for(int i=0; i<n; i++) {
        int k;
        scanf("%d", &k); arr[k]=1; arr2[i]=k;
        if(Max<k) Max=k;
        else {
            for(int j=Max; j>k; j--) {
                if(arr[j]==0) {
                    flag=1; break;
                }
            }
        }
        if(flag) break;
    }

    if(flag) printf("NO");
    else {
        //std::stack<int> s; //s : 1~n 저장
        int cnt=0, in=1;
        while(cnt<n) {
            
            if(arr2[cnt]>in) {
                    in++;
                    //std::s.push(in++);
                    printf("+\n");
            }
            else if(arr2[cnt]<in) {
                printf("-\n");
                cnt++;
                //std::s.pop();
            }
            else {
                printf("+\n-\n");
                in++; cnt++;
            }
            
        }
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: