아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

최대 최소 거리 게임

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

요약
선공부터 양쪽이 돌을 하나씩 번갈아 제거해 두 개를 남기고 Alice는 최종 거리를 넓히고 Bob은 좁힐 때 최적 결과 거리를 구합니다.
난이도

어려움10점 중 8점

유형
게임 이론, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

앨리스와 밥이 다음 게임을 한다. 처음에 탁자 위 직선 하나에 돌 n개가 놓여 있다. 두 사람은 번갈아 차례를 진행하고, 자기 차례에는 남아 있는 돌 중 하나를 골라 없앤다. 직선 위의 돌이 두 개가 되면 게임이 끝나며, 남은 두 돌을 결과 돌이라고 한다. 앨리스는 결과 돌 사이의 거리를 최대한 멀게 만들려 하고, 밥은 최대한 가깝게 만들려 한다.

돌의 좌표와 첫 차례를 맡는 사람의 이름이 주어진다. 두 사람이 모두 최선을 다한다고 할 때, 게임이 끝난 뒤 결과 돌 사이의 거리를 구하라.

입력

입력은 테스트 케이스 하나로 이루어지고 형식은 다음과 같다.

n f
x1 x2 ... xn

n은 돌의 개수로 3≤n≤1053 \le n \le 10^5이다. f는 첫 차례를 맡는 사람의 이름이고 Alice 또는 Bob이다. 각 i에 대해 xix_i는 i번째 돌이 탁자 가장자리에서 떨어진 거리를 나타내는 정수이며, 0≤x1<x2<⋯<xn≤1090 \le x_1 < x_2 < \dots < x_n \le 10^9이 성립한다.

출력

결과 돌 사이의 거리를 한 줄에 출력한다.

예제4

  1. 예제 1

    입력
    5 Alice
    10 20 30 40 50
    
    예상 출력
    30
    
  2. 예제 2

    입력
    5 Bob
    2 3 5 7 11
    
    예상 출력
    2
    
  3. 예제 3

    입력
    3 Alice
    0 1 1000000000
    
    예상 출력
    1000000000
    
  4. 예제 4

    입력
    3 Bob
    0 4 5
    
    예상 출력
    1