만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

식중독

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

요약
식당 n곳 중 식중독을 일으키는 식당 하나를 찾을 때, 식중독이 최대 p번 이하로 발생하도록 식사하는 최소 주차 수를 구합니다.
난이도

보통10점 중 6점

유형
수학, 조합론
정답자
아직 제출이 없습니다

문제

친구 Mikey는 최근 매주 식중독에 걸리고 있다. Mikey는 식중독의 원인이 정확히 한 식당이라고 거의 확신하지만, 그것이 어느 식당인지는 모른다. Mikey는 최대한 적은 주 수 안에 원인 식당을 찾고 싶어 한다.

매주 Mikey는 평소 다니는 식당들 중 원하는 부분집합에서 식사할 수 있다. 부분집합의 크기는 필요에 따라 작아도 되고 커도 된다. Mikey는 식중독에 여러 번 걸리고 싶지 않으므로, 식중독에 걸리는 횟수를 최대 p번으로 제한하면서 원인 식당을 찾고자 한다.

어떤 주에 부분집합에서 식사하고 식중독에 걸렸다면, 원인 식당은 그 부분집합에 포함된다. 식중독에 걸리지 않았다면, 원인 식당은 그 부분집합에 포함되지 않는다. 주마다 부분집합의 크기가 같을 필요는 없다.

입력

입력은 한 줄이며, 정수 두 개가 주어진다. 첫 번째는 식당 수 nn (1≤n≤100,0001 \le n \le 100,000)이고, 두 번째는 Mikey가 식중독에 걸려도 괜찮다고 하는 최대 횟수 pp (1≤p≤10,0001 \le p \le 10,000)이다.

출력

최악의 경우를 가정한 최적 전략으로 원인 식당을 확정할 때까지 Mikey가 식사해야 하는 최소 주 수를 출력한다. 답은 항상 존재한다.

힌트

식당이 8개이고 p=1p = 1이면, Mikey는 매주 식당 하나에서만 식사하면 된다. 그 식당이 원인인지 그 주에 바로 알 수 있다. 식당이 8개뿐이므로 최대 7주 안에 원인 식당을 알게 된다.

예제2

  1. 예제 1

    입력
    8 1
    
    예상 출력
    7
    
  2. 예제 2

    입력
    7 2
    
    예상 출력
    3