RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
KOI00009

거울

Silver I 실버 I
난이도
2s
시간 제한
1024MB
메모리 제한
7
맞았습니다!!
16
제출 수
43.8%
정답률
레이팅

의견: 0

설명

당신은 수직선 위에서 게임을 하고 있다. 당신의 캐릭터는 위치 \(s\)에 있으며, 수직선 위에는 \(N\)개의 거울이 배치되어 있다. 각 거울의 위치는 왼쪽부터 \(A_1 ≤ A_2 ≤ \cdots ≤ A_N\)으로 나타낼 수 있다. 한 위치에 여러 개의 거울이 있을 수도 있다.

당신은 거울을 사용해 캐릭터의 위치를 바꿀 수 있다. 이때, 거울을 사용하면 캐릭터의 위치는 거울을 기준으로 점대칭인 지점으로 이동한다. 즉, 당신의 캐릭터가 위치 \(a\)에 있을 때 위치 \(b\)에 있는 거울을 사용하면 당신의 캐릭터는 위치 \(2b − a\)로 이동한다.

\(N\)개의 거울은 정확히 한 번씩 사용되어야 한다. 즉, 한 거울을 사용하지 않고 무시할 수는 없으며, 한 거울을 두 번 이상 사용할 수도 없다. 각 거울을 모두 정확히 한번씩 사용해야 하는 것을 제외하고는, 거울은 당신이 원하는 아무 순서대로 사용할 수있다.

당신은 이 조건하에서 캐릭터의 위치의 최댓값을 계산하여 출력해야 한다.

제약
  • 주어지는 모든 수는 정수이다.
  • \(1 ≤ N ≤ 200\, 000\)
  • \(−10^9 ≤ s ≤ 10^9\)
  • \(−10^9 ≤ A_1 ≤ A_2 ≤ \cdots ≤ A_N ≤ 10^9\)
입력 형식

첫째 줄에는 거울의 수 \(N\)과 당신의 위치 \(s\)가 공백으로 구분되어 주어진다.
둘째 줄에는 각 거울의 위치 \(A_1 , A_2 ,\cdots , A_N\)이 공백으로 구분되어 주어진다.

출력 형식

\(N\)개의 거울을 모두 정확히 한 번씩 사용했을 때 캐릭터의 최종 위치의 최댓값을 출력한다.
답이 커질 수 있으므로 일부 프로그래밍 언어에서는 64비트 정수 변수(long long)를 사용해야 할 수도 있음에 유의하라.

서브태스크
서브태스크점수설명

1

7점

\(N ≤ 2\).

2

25점

\(N\)은 짝수, \(A_1 = A_2 = \cdots = A_{N/2} < s < A_{N/2+1} = A_{N/2+2} = \cdots = A_{N}\).

3

19점

\(N\)은 짝수, \(A_{N/2} < s < A_{N/2+1}\).

4

49점

추가 제약 조건 없음.

예제 1
입력
2 0
-1 2
출력
6
설명

Fig 9
\(1\)번 거울을 먼저 이용하고, 그다음에 \(2\)번 거울을 이용한다면, 위 그림처럼 캐릭터의 최종 위치는
\(6\)이 된다. 반면, \(2\)번 거울을 먼저 이용하고, 그다음에 \(1\)번 거울을 이용한다면, 캐릭터의 최종 위치는
\(−6\)이 된다. 고로, 이 예시의 정답은 \(6\)이 된다.

예제 2
입력
6 3
-4 -2 2 6 8 9
출력
57
예제 3
입력
9 9
0 1 3 3 4 5 8 9 10
출력
49
예제 4
입력
1 1000000000
-999999999
출력
-2999999998
힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 올림피아드 > 한국정보올림피아드 > KOI 2025 > 2차 대회 > 초등부 2번 / 중등부 1번

평가 및 의견

거울

개요
출제자 난이도 Silver I 실버 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

거울

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8