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

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

해적의 규율

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

요약
이마에 적힌 N개의 정수 집합에서 증가하는 길이 3 등차수열이 존재하는지 판정하고, 존재하면 사전순으로 가장 앞선 증인 세 수를 출력한다.
난이도

보통10점 중 6점

유형
정렬, 해시맵, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

데이비 존스가 또 한 척의 배를 나포하고 햇빛 아래에서 흡족하게 미소 짓고 있다. 오늘은 그에게 좋은 날이다. 선원으로 부릴 영혼을 더 얻게 될 테니까. 그런데 날이 너무 좋아서 — 해가 밝게 빛나고 바다는 잔잔하게 펼쳐져 있다 — 존스는 자비를 베풀어 나포한 배의 가련한 선원들에게 기회를 주기로 한다. 그는 다음 놀이를 한다.

그는 포로들을 자기 앞에 한 줄로 세운 뒤, 각 사람의 이마에 자신이 고른 수를 하나씩 적는다. 그런 다음 이 수들의 집합이 3-free인지 확인하려 한다. 어떤 집합이 3-free라는 것은, 그 집합 안의 어떤 세 수도 증가하는 등차수열을 이루지 않는다는 뜻이다. 세 수 (a1,a2,a3)(a_1, a_2, a_3)가 증가하는 등차수열이라는 것은 a2−a1=a3−a2a_2 - a_1 = a_3 - a_2이고 a2−a1>0a_2 - a_1 > 0인 경우를 말한다. 예를 들어 {1,2,3}\{1, 2, 3\}, {4,6,8}\{4, 6, 8\}, {−2,1,4}\{-2, 1, 4\}가 그러하다.

이마에 적힌 수들의 집합이 3-free이면 그 무리는 모두 풀려난다. 그렇지 않다면, 집합이 3-free가 아님을 증명하는 사전순으로 가장 앞선 증거(즉 3-free가 아님을 보이는 사전순으로 가장 앞선 세 수) 를 이마에 지닌 사람들이 영원히 존스의 선원으로 일하게 된다.

당신은 이 놀이에서 존스의 조수가 되어, 주어진 무리가 3-free인지 판단하고, 아니라면 사전순으로 가장 앞선 증거를 보고해야 한다. 제대로 확인하지 못하면 당신도 존스의 선원 신세가 될 것이다.

세 수 (a1,a2,a3)(a_1, a_2, a_3)가 (b1,b2,b3)(b_1, b_2, b_3)보다 사전순으로 더 앞선다는 것은 다음 중 하나가 성립하는 경우이다.

  • a1<b1a_1 < b_1, 또는
  • a1=b1a_1 = b_1이고 a2<b2a_2 < b_2, 또는
  • a1=b1a_1 = b_1, a2=b2a_2 = b_2이고 a3<b3a_3 < b_3.

세 수는 항상 오름차순 a1≤a2≤a3a_1 \le a_2 \le a_3으로 본다(a2−a1>0a_2 - a_1 > 0 조건과 합치면 세 수는 서로 다르며 강한 증가 순서가 된다). 다만 이마에 적힌 수들이 입력에서 오름차순으로 주어지지는 않는다.

입력

한 줄이 주어진다. 첫 번째 정수 NN은 무리에 속한 사람 수이며 수열 자체에는 포함되지 않는다. 그 뒤에 이마에 적힌 NN개의 정수가 이어진다.

출력

한 줄을 출력한다.

주어진 수들이 3-free이면 다음을 출력한다.

Sequence is 3-free.

그렇지 않으면 다음을 출력한다.

Sequence is not 3-free. Witness: w1,w2,w3.

여기서 (w1,w2,w3)(w_1, w_2, w_3)은 사전순으로 가장 앞선 증거이다. 세 증거 수는 공백 없이 쉼표로만 구분하며, 3-free. 뒤의 마침표 다음과 콜론 다음에는 각각 공백이 하나씩 있다.

예제2

  1. 예제 1

    입력
    4 1 5 6 8
    
    예상 출력
    Sequence is 3-free.
    
  2. 예제 2

    입력
    7 1 3 5 2 -7 0 -1
    예상 출력
    Sequence is not 3-free. Witness: -7,-1,5.