60008 거울 Gold IV
문제
수직선 위에서 캐릭터가 위치 s에 있다. 수직선 위에는 N개의 거울이 배치되어 있으며, 각 거울의 위치는 A_1 ≤ A_2 ≤ … ≤ A_N이다.
거울을 사용하면 캐릭터의 위치가 거울을 기준으로 점대칭인 지점으로 이동한다. 위치 a에서 위치 b의 거울을 사용하면 캐릭터는 위치 2b - a로 이동한다.
N개의 거울은 정확히 한 번씩 사용되어야 한다. 거울을 원하는 순서대로 사용할 수 있을 때, 캐릭터의 최종 위치의 최댓값을 구하시오.
입력
첫째 줄에 N과 s가 주어진다. (1 ≤ N ≤ 200,000, -10^9 ≤ s ≤ 10^9)
둘째 줄에 A_1, A_2, …, A_N이 주어진다. (-10^9 ≤ A_i ≤ 10^9)
출력
최종 위치의 최댓값을 출력한다.
예제 입출력
예제 입력 1
2 0
-1 2
예제 출력 1
6
예제 입력 2
6 3
-4 -2 2 6 8 9
예제 출력 2
57
예제 입력 3
9 9
0 1 3 3 4 5 8 9 10
예제 출력 3
49
예제 입력 4
1 1000000000
-999999999
예제 출력 4
-2999999998
solution.cpp
에디터 불러오는 중...