CF735C Tennis Championship

题目描述

巴西著名城市里约热内卢将举办一场网球锦标赛,Ostap Bender 不想错过这个盛会。共有 $n$ 名选手参赛,比赛将从第一场开始采用淘汰制规则。这意味着,只要某人输掉比赛,他将立即离开比赛。 组织者们还在安排比赛对阵表(即比赛的顺序以及谁与谁对阵),但他们已经确定了一条规则:两名选手只有在他们已经参赛的比赛场次数之差不超过 $1$ 时,才可以互相比赛。当然,继续参赛的两名选手必须都赢得了他们之前所有的比赛。 比赛尚未开始,观众们略感无聊。Ostap 决定计算一下,在满足上述规则的前提下,最终冠军最多可以参加多少场比赛。然而,他觉得自己难以独自解决这个问题,需要你的帮助。

输入格式

输入只有一行,包含一个整数 $n$($2 \leq n \leq 10^{18}$)——参赛选手的数量。

输出格式

输出冠军最多可以参加的比赛场数。

说明/提示

在所有样例中,我们假设编号 $1$ 的选手是冠军。 在第一个样例中,只会有一场比赛,因此答案是 $1$。 在第二个样例中,选手 $1$ 可以依次击败选手 $2$ 和 $3$。 在第三个样例中,选手 $1$ 无法与每个其他选手都比赛,因为在他与选手 $2$ 和 $3$ 比赛后,无法再与选手 $4$ 比赛,因为此时选手 $4$ 还未参赛,而选手 $1$ 已经打了 $2$ 场。因此,本例的答案是 $2$,可以组对 $(1,2)$ 和 $(3,4)$,然后让胜者再对决。 由 ChatGPT 5 翻译