アイデア:最後に、出力ラップを忘れて、私はワシントン州につながってきました
説明
あなたの整数のランダムシーケンスを与える、次の順序で番号を選択します、最大最小を、そしてすべての数字が選出されるまで...スモールセコンド、二番目に大きいです。例えば:あなた13254、あなたは出力51423をする必要があります。
入力
テストケースには、複数のそれぞれの場合は、以下のN整数続いて、整数N(1 <= N <= 100000)で始まります
出力
に従い、タイトル説明出力シーケンス
サンプル入力
5 1 3 2 5 4
サンプル出力
5 1 2 3 4
ソース
書式#include <cstdioを> する#include <iostreamの> の#include <cmath> の#include < 文字列 > の#include <CStringの> の#include <アルゴリズム> 書式#include <キュー> の#include <ベクトル> の#include <マップ> 使用して 名前空間はstd; #defineは長い長いっ のconst int型 MAXN = 5100 ; int型のn、[ 100000 + 8 ]、B [ 100000 + 8 ]。 int型のmain() { 中(〜のscanf(" %のD "、&N)&& N) { ため(int型 I = 0 ; iがN <; Iは++ ) のscanf(" %dの"、および[I])。 ソート(A + nは、大きい< INT > ()); INT MAXX = N- 1、ミネソタ州= 0 。 以下のために(int型 i = 0 ; iがn <; iは++ ) { 場合(私の%2 == 0 ) { B [I] =[ミネソタ州]。 ミネソタ州++ ; } 他 { [I] B = [MAXX]を、 maxx-- ; } } のための(int型 I = 0 ; iがN <I ++は) { 場合(I)のprintf(" " )。 printf(" %dの" 、B [I])。 } のprintf(" の\ n " ); } 戻り 0 。 }