#include<iostream>

#include<algorithm>

#include<stack>


using namespace std;

int main(){

    cin.tie(NULL);

    ios::sync_with_stdio(false);

    int N;

    cin>>N;

    int z;

    

    int*arr2=new int[N];

    for(int i=0;i<N;i++){

        cin>>z;

        arr2[i]=z;

    }


   

    int t=0;

    

    int pppp=0;

    int idx;

    char*p=new char[2*N];

    for(int i=0;i<N;i++){

        for(;t<arr2[i];t++){

            p[pppp]='+';

           

            pppp+=1;

        }

        if(t==N){

        

            idx=i;

            t++;

        }

        p[pppp]='-';

        pppp+=1;

    }

   

    for(int i=idx;i<N-1;i++){

        if(arr2[i]<arr2[i+1]){

            cout<<"NO";

            

            return 0;

        }


    }

    

    for(int i=0;i<(2*N)-1;i++){

        cout<<p[i]<<'\n';

        

    }

    cout<<p[(2*N)-1];

    return 0;


}



출력초과가 뜨는데 도대체 어디서 잘못된 건지 감도 안잡힙ㄴ디ㅏ.. 구글링해도 비슷한 사례가 안나오고 ㅠㅠㅠㅠ


https://www.acmicpc.net/problem/1874


도움주시면 정말 감사하겠습니다