出来るだけ寝ていたい

1日最低12時間睡眠、寝たら負け

貪欲3


#define make_pair MP

using namespace std;
//---------------------------------------------------------------------------//
int n,a=0;
char s[2000];
int main(){
    cin>>n;
     for(int i=0; i<n; i++) {
           cin>>s[i];
        }
     int b=n-1;
     while(a<=b) {
         bool left=false;
   for(int i=0; a+i<=b; i++) {
               if(s[a]<s[b]) {
                    left =true;
                    break;
          }else if(s[a]>s[b]) {
                    left=false;
                    break;
                  }
         }
            if(left) {
               putchar(s[a++]);
           }  else{
               putchar(s[b--]);
           }
      }
}

これは与えられた文字列に対して、左端または右端の文字を選択して、作られた単語を出来るだけ辞書順で前に来るような単語を作るソースコード