만드는 중입니다

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

Akvizna

면접 대비

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

요약
상대 N명을 정확히 K라운드에 모두 탈락시킬 때, 라운드마다 탈락한 인원을 남은 인원으로 나눈 값의 합이 최대가 되는 값을 구합니다.
난이도

보통10점 중 4점

유형
그리디, 수학
정답자
아직 제출이 없습니다

문제

1 vs. 100은 몇 년 전 TV에서 볼 수 있었던 퀴즈다. 이 문제에서는 퀴즈 규칙을 조금 단순화한다.

참가자는 질문에 답하면서 자신과 겨루는 100명을 모두 탈락시켜야 한다. 매 라운드마다 모든 상대에게 같은 질문이 주어지고, 틀린 사람은 탈락한다. 상대 100명을 모두 탈락시킨 참가자가 받는 상금은 각 라운드에서 얻은 금액의 합과 같다. 각 라운드에서 상대들의 가치는 모두 같고, 상대 전원의 가치를 합하면 10만 쿠나(크로아티아 화폐)다. 한 라운드에서 얻는 금액은 그 라운드에서 탈락한 사람들의 가치를 합한 값이다. 예를 들어 어느 시점에 상대가 10명 남아 있고 각자의 가치가 1만 쿠나라면, 그 라운드에서 3명을 탈락시킨 참가자는 3만 쿠나를 얻는다.

이 퀴즈를 1 vs. N이라고 하자. 즉 참가자가 N명과 겨룬다. 미르코 M.이 정확히 K 라운드 만에 상대 전원을 탈락시켰다. 그가 얻을 수 있었던 최대 금액은 얼마인가?

입력

한 줄에 정수 NN과 KK가 주어진다 (1≤N≤100 0001 \le N \le 100\,000, 1≤K≤N1 \le K \le N). 두 값은 문제 설명에 나온 그 값이다.

출력

미르코 M.이 얻을 수 있는 최대 금액을 100 000으로 나눈 값을 출력한다. 정답은 공식 답과의 상대 오차 또는 절대 오차가 10−810^{-8} 이하이면 인정된다.

힌트

미르코 M.은 다섯 명의 상대와 겨뤘고, 세 라운드에 걸쳐 그들을 탈락시켰다. 최대 금액을 얻으려면 먼저 세 명을 탈락시키고, 이후 두 라운드에서는 매번 한 명씩 탈락시켜야 한다. 이 경우 얻는 금액은 (35+12+11)×100 000=2.1×100 000=210 000\left(\frac{3}{5} + \frac{1}{2} + \frac{1}{1}\right) \times 100\,000 = 2.1 \times 100\,000 = 210\,000쿠나다.

예제3

  1. 예제 1

    입력
    5 3
    
    예상 출력
    2.100000000
    
  2. 예제 2

    입력
    10 10
    
    예상 출력
    2.928968254
    
  3. 예제 3

    입력
    100 10
    
    예상 출력
    4.590928516