Ian Sequences

시간 제한1초메모리 제한1024 MB

요약
1부터 N까지의 정수가 각각 두 번씩 나타나는 길이 2N의 수열을 만들되, 2 이상 N 이하인 모든 i에 대해 값 i인 두 원소 사이의 합을 i로 나눈 나머지가 1이어야 한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 그리디, 구현
정답자
아직 제출이 없습니다

문제

수열을 사랑하는 ian0704를 위해, 다음의 조건을 모두 만족하는 길이가 2N2N인 수열 AA를 구해주자.

  • 11 이상 NN 이하의 정수가 각각 22번 나타난다.
  • 2≤i≤N2 \leq i \leq N을 만족하는 모든 정수 ii에 대해 값이 ii인 AA의 두 원소 사이에 있는 AA의 원소들의 합을 ii로 나눈 나머지가 11이다. 만약, 두 ii 사이에 존재하는 원소가 없다면 합은 00이라고 가정한다.

입력

첫 번째 줄에 정수 NN이 주어진다. (2≤N≤2×105)(2 \leq N \leq 2 \times 10^5)

출력

길이가 2N2N인 조건을 만족하는 수열 AA에 대해, A_1,A_2,⋯ ,A_2NA\_1, A\_2, \cdots, A\_{2N}을 공백으로 구분하여 한 줄에 출력한다. 조건을 만족하는 수열이 여럿 존재할 경우, 아무거나 하나 출력한다.

답이 항상 존재함을 증명할 수 있다.

예제2

  1. 예제 1

    입력
    2
    
    예상 출력
    1 2 1 2
    
  2. 예제 2

    입력
    3
    
    예상 출력
    2 1 2 3 1 3