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

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

Mind the Gap

면접 대비

시간 제한2초메모리 제한512 MB

요약
서로 다른 양의 정수 카드 n장이 주어질 때, 각자 자기 카드가 더미 맨 위 값보다 d 이하로 클 때만 내는 전략으로 어떤 동시 배치 순서에서도 카드를 오름차순으로 모두 내려놓을 수 있게 하는 정수 d를 찾는다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

Mika는 친구들과 Mind 게임을 하고 있다.

이 게임은 카드로 진행되며, 각 카드에는 정수 하나가 적혀 있다. 카드에 적힌 값은 모두 서로 다르다. 플레이어들은 카드를 계속 내면서 테이블 위에 카드 더미 하나를 쌓는다. 처음에 더미에는 정수 00이 적힌 카드 한 장이 있다. 각 플레이어는 11부터 10910^9까지의 값이 적힌 카드 한 장씩 받는다. 그다음 플레이어들은 임의의 순서로 카드를 내기 시작한다. 플레이어가 카드를 내면 더미 맨 위에 카드를 놓는다. 목표는 카드 값이 아래에서 위로 갈수록 커지도록 모든 카드를 내는 것이다. 카드를 내지 못한 플레이어가 있거나 더미가 증가하지 않으면 플레이어들은 지고, 그렇지 않으면 이긴다. 카드를 나눠 준 뒤에는 플레이어들 사이에 어떤 의사소통도 허용되지 않는다.

Mika와 친구들은 전략을 하나 생각해 냈다. 게임 전에 정수 dd 하나를 정한다. 게임 중에 플레이어의 카드 값이 xx이고 더미 맨 위의 값이 yy일 때, x−y≤dx - y \le d이면 그 플레이어는 카드를 낸다. x−y>dx - y > d이면 카드를 내지 않는다. 여러 플레이어가 동시에 카드를 내면 이 카드들은 어떤 순서로든 더미 맨 위에 놓일 수 있으며, 이 순서는 플레이어들이 제어할 수 없다.

플레이어들에게 나눠 줄 카드 값들이 주어진다. 플레이어들의 전략이 승리를 보장하도록 하는 정수 dd를 구하시오.

입력

첫째 줄에는 Mind 게임을 하는 플레이어 수 nn이 주어진다 (3≤n≤100 0003 \le n \le 100\,000).

둘째 줄에는 플레이어들에게 나눠 줄 카드 값 nn개가 주어진다.

주어진 카드 값은 모두 서로 다르고 양수이며 10910^9를 넘지 않는다.

출력

Mika와 친구들이 이 전략으로 게임에서 승리를 보장하기 위해 사용해야 하는 정수 dd를 출력한다. 그러한 dd가 없으면 00을 출력한다. dd의 값이 여러 개라면 아무 것이나 출력한다.

힌트

첫 번째 예시에서 d=3d = 3도 정답이 될 수 있다.

예제2

  1. 예제 1

    입력
    5
    5 13 2 10 8
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5
    4 13 2 8 7
    
    예상 출력
    0