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

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

Biggest

시간 제한0.4초메모리 제한1024 MB

요약
알 수 없는 순열에서 K개의 가장 큰 값의 위치를 비교 질문으로 찾는 인터랙티브 문제이며, 처음 N-1번의 질문은 비용에 포함되지 않는다.
난이도

어려움10점 중 8점

유형
정렬, 분할 정복, 그리디
정답자
아직 제출이 없습니다

문제

두 플레이어 A와 B가 다음 게임을 한다. A는 정수 1, 2, …, N의 순열 p[1], p[2], ..., p[N]을 정하고, B는 그 순열을 모른다. B는 1 ≤ x, y ≤ N인 임의의 수 x와 y에 대해 "p[x]와 p[y] 중 어느 것이 더 큰가?"라는 질문을 할 수 있다. B는 처음 N − 1번의 질문이 전체 질문 횟수에 포함되지 않는다는 조건에서, 가장 큰 K개의 수(즉 N, N−1, …, N−K + 1)가 순열에서 위치한 인덱스를 가능한 한 적은 질문으로 찾으려 한다. 채점 프로그램이 A 역할을 하고, 여러분이 작성한 프로그램이 B 역할을 한다.

함수 biggest()를 작성하라. 이 함수는 채점 프로그램과 함께 컴파일되며, 질문을 던져 가장 큰 K개의 수가 순열에서 위치한 인덱스를 가능한 한 적은 질문으로 찾는다. 처음 N-1번의 질문은 전체 질문 횟수에 포함되지 않는다.

제한

  • 모든 테스트에서 N = 100 000
  • 1 ≤ K ≤ 100 000

예제1

  1. 예제 1

    입력
    1 1
    1
    
    예상 출력
    1