DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

이온특급

문제로 돌아가기

해설

주어진 EiE_iEi​를 각각 처리할 필요는 없다. 하나의 배치에서 111부터 N2N^2N2까지의 모든 정수를 에너지로 만들면 모든 입력을 해결할 수 있다. 실제로 N≥5N \ge 5N≥5이면 이러한 배치가 항상 존재하므로 답은 항상 YES이다.

노선은 오른쪽으로 N−1N-1N−1번, 아래쪽으로 N−1N-1N−1번 이동한다. 각 행에서 오른쪽으로 이동한 횟수를 xix_ixi​라고 하면

xi≥0,∑i=1Nxi=N−1x_i \ge 0, \qquad \sum_{i=1}^{N} x_i=N-1xi​≥0,i=1∑N​

이다. 반대로 이 조건을 만족하는 모든 정수열 (x1,⋯ ,xN)(x_1,\cdots,x_N)(x1​,⋯,xN​)은 하나의 노선을 나타낸다. 첫째 행에서 오른쪽으로 x1x_1x번 이동하고, 아래로 한 번 이동한 다음 둘째 행에서 오른쪽으로 번 이동하는 식이다.

따라서 같은 행의 수와 가로 선로의 부호를 통일하면, 노선의 에너지를 각 행에서 선택한 가로 이동 횟수의 합으로 표현할 수 있다.

1. 역의 수와 가로 선로 배치

다음과 같이 정수를 배치한다. 출발역에 적을 수 ccc는 나중에 정한다.

  • 첫째 행에서는 출발역에 ccc를 적고, 나머지 역에는 111을 적는다.
  • 둘째 행의 모든 역에는 222를 적는다.
  • iii번째 행의 모든 역에는 i−1i-1i−1을 적는다 (3≤i≤N3 \le i \le N).

첫째 행과 둘째 행의 가로 선로는 모두 -, 나머지 행의 가로 선로는 모두 +로 정한다.

오른쪽으로 한 번 이동할 때 에너지에 더해지는 값은 행에 따라

−1,−2,2,3,⋯ ,N−1-1,-2,2,3,\cdots,N-1−1,−2,2,3,⋯,N−1

중 하나가 된다. 이 값들의 집합을

W={−2,−1,2,3,⋯ ,N−1}W=\{-2,-1,2,3,\cdots,N-1\}W={−2,−1,2,3,⋯,N−1}

이라고 하자.

각 행에서 다음 행으로 내려가는 세로 선로는 열과 무관하게 같은 부호를 사용한다. 모든 노선은 각 행 경계를 정확히 한 번 지나므로, 출발역과 모든 세로 이동이 만드는 에너지의 합 BBB는 노선과 무관하다. 이를 B=2N−1B=2N-1B=2N−1로 만들 것이다.

그러면 노선의 에너지는 2N−12N-12N−1에 WWW의 원소 N−1N-1N−1개를 더한 값이 된다. 같은 원소를 여러 번 선택해도 된다. 선택한 원소들의 순서를 해당 행의 순서로 정렬하면 실제 노선으로 만들 수 있으므로, 이동 순서에 따른 추가 제약은 없다.

2. 모든 에너지를 만들 수 있다는 증명

kWkWkW를 WWW의 원소 kkk개를 중복을 허용하여 더해서 만들 수 있는 정수의 집합이라고 하자. 다음을 보이면 충분하다.

kW=[−2k,(N−1)k](k≥3).kW=[-2k,(N-1)k] \qquad (k \ge 3).kW=[−2k,(N−1)k](k≥3).

여기서 구간은 양 끝점을 포함한 모든 정수를 뜻한다.

먼저 k=3k=3k=3을 생각하자. 세 원소 중 양수의 개수에 따라 만들 수 있는 합은 다음과 같다.

  • 양수 000개: [−6,−3][-6,-3][−6,−3].
  • 양수 111개: [−2,N−3][-2,N-3][−2,N−3].
  • 양수 개: .

음수는 연속된 두 정수 −2,−1-2,-1−2,−1이고, 양수도 222부터 N−1N-1N−1까지 연속되어 있으므로 각 구간 안의 모든 정수를 만들 수 있다. N≥5N \ge 5N≥5이면 위 구간들이 빈틈없이 이어져

3W=[−6,3N−3]3W=[-6,3N-3]3W=[−6,3N−3]

을 얻는다.

이제 kW=[−2k,(N−1)k]kW=[-2k,(N-1)k]kW=[−2k,(N−1)k]라고 가정하자. 여기에 −2-2−2 또는 N−1N-1N−을 하나 더하면 각각

[−2k−2,(N−1)k−2],[-2k-2,(N-1)k-2],[−2k−2,(N−1)k−2], [−2k+N−1,(N−1)(k+1)][-2k+N-1,(N-1)(k+1)][−2k+N−1,(N−1)(k+1)]

의 모든 정수를 만들 수 있다. 두 구간 사이에는 빈틈이 없다. 실제로 둘째 구간의 시작점에서 첫째 구간의 끝점을 뺀 값은

N+1−k(N+1)=(1−k)(N+1)≤0N+1-k(N+1)=(1-k)(N+1) \le 0N+1−k(N+1)=(1−k)(N+1

이다. 따라서 (k+1)W=[−2(k+1),(N−1)(k+1)](k+1)W=[-2(k+1),(N-1)(k+1)](k+1)W=[−2(k+1),(N−1)(k+이다.

N≥5N \ge 5N≥5이므로 N−1≥3N-1 \ge 3N−1≥3이다. 따라서 전체 노선의 에너지는 다음 구간의 모든 정수를 포함한다.

[2N−1−2(N−1),  2N−1+(N−1)2]=[1,N2].[2N-1-2(N-1),\;2N-1+(N-1)^2]=[1,N^2].[2N−1−2(N−1),2N−1+

즉, 모든 EiE_iEi​를 동시에 만족한다.

3. 세로 이동의 합을 맞추기

남은 것은 세로 선로의 부호와 출발역의 수 ccc를 정하여 B=2N−1B=2N-1B=2N−1로 만드는 것이다.

아래쪽으로 이동할 때 도착하는 행의 수는 순서대로

2,2,3,4,⋯ ,N−12,2,3,4,\cdots,N-12,2,3,4,⋯,N−1

이다. 이 수들에 부호를 붙인 합을 SSS라고 하면 B=c+SB=c+SB=c+S이다.

G=2N−3G=2N-3G=2N−3으로 놓고 S=0S=0S=0에서 시작한다. 위 수들을 역순인

N−1,N−2,⋯ ,2,2N-1,N-2,\cdots,2,2N−1,N−2,⋯,2,2

로 처리한다. 현재 수를 www라고 할 때 다음과 같이 정한다.

  • S<GS<GS<G이면 해당 행 경계의 모든 세로 선로를 +로 정하고 SSS에 www를 더한다.
  • S≥GS \ge GS≥G이면 해당 행 경계의 모든 세로 선로를 -로 정하고 SS에서 를 뺀다.

마지막으로

c=2N−1−Sc=2N-1-Sc=2N−1−S

로 정하면 B=2N−1B=2N-1B=2N−1이 된다.

이제 ccc가 허용 범위 안에 있음을 보이자. d=G−Sd=G-Sd=G−S라고 하면 위 과정은

d←{d−wd>0,d+wd≤0d \leftarrow \begin{cases}d-w & d>0,\\ d+w & d \le 0\end{cases}d←{d−wd+w​

이다. 처음에는 d=2N−3d=2N-3d=2N−3이고, N−1N-1N−1과 N−2N-2N−2를 처리하면 차례로 d=N−2d=N-2, 이 된다.

이후 w=N−3,N−4,⋯ ,2w=N-3,N-4,\cdots,2w=N−3,N−4,⋯,2를 처리한다. 처리 직전에 ∣d∣≤w+1|d| \le w+1∣d∣≤이면 처리 직후에는 이다. 따라서 이 과정을 마치면 이다.

마지막으로 남은 222를 처리하면 ddd는 −1,0,1,2-1,0,1,2−1,0,1,2 중 하나가 된다. 따라서

c=2N−1−S=d+2∈{1,2,3,4}.c=2N-1-S=d+2 \in \{1,2,3,4\}.c=2N−1−S=d+2∈{1,2,3

N≥5N \ge 5N≥5이므로 출발역의 수도 항상 111 이상 NNN 이하이다. 나머지 역의 수 역시 모두 허용 범위를 만족한다.

Solution Written by GPT6

xi​
=
N−
1
1
​
x2x_2x2​
3≤
i≤
N
22
2
[2,2N−3][2,2N-3][2,2N−3]
  • 양수 333개: [6,3N−3][6,3N-3][6,3N−3].
  • 1
    )
    ≤
    0
    1)]
    (N−
    1)2]=
    [1,N2].
    S
    www
    d>0,
    d≤0
    ​
    d=N−2
    d=0d=0d=0
    w
    +
    1
    ∣d∣≤w|d| \le w∣d∣≤w
    −2≤d≤2-2 \le d \le 2−2≤d≤2
    ,
    4
    }
    .