아이디어 : 마지막으로, 출력 랩을 잊지 나는 워싱턴에지도 한
기술
당신에게 정수의 임의의 순서로 보내기 다음과 같은 순서로 번호를 선택 : 가장 큰, 작은, 그리고 두 번째로 큰, 두 번째 작은이 ... 모든 숫자가 선출 될 때까지입니다. 예를 들면 다음과 같습니다 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 <지도> 사용 스페이스 성병; #DEFINE 어떠냐 오래 오래 CONST의 INT의 maxn = 5100 ; INT의 N, A [ 100000 + 8 ], B [ 100000 + 8 ]; INT 주 () { 동안 (~는 scanf (" %의 D ' , N) && N) { 위해 ( int로 = 1을 0 난 ++] i가 N <; ) (scanf와를 " 가 % d " , & A [I]); 정렬 (a하는 + N 큰 < INT > ()); INT 맥스 = N- 1 미네소타 = 0 ; 위한 ( int로 I = 0 ; I <N은, 내가 ++ ) { 경우 (I %의 (2) == 0 ) { B [I] =A [미네소타]; 미네소타 ++ ; } 그밖에는 { B는 [I] = A [맥스]; maxx-- ; } } 에 대해 ( int로 I = 0 내가 ++; i가 N < ) { 경우 ((I)에서 printf ' " ); 의 printf ( " %의 D ' , B [I]); } 의 printf ( " \ n을 " ); } 반환 0 ; }