站外题求解,玄关
  • 板块学术版
  • 楼主chenzhuole1
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/22 16:05
  • 上次更新2025/1/22 19:03:34
查看原帖
站外题求解,玄关
1465303
chenzhuole1楼主2025/1/22 16:05

第8题 组织足球赛(2024GDOI教师比赛5)

小明正在组织一次足球比赛。他想出了以下比赛形式:

在前几个阶段(可能是零个阶段),当球队数量为偶数时,他们抽签两两配对,每对踢一场比赛。在每个阶段,每对输家都会被淘汰(没有平局)。当参赛队数为偶数时,就进行这样的阶段。

最终剩下的队伍将是奇数。如果剩下一支队伍,则宣布该队获胜,比赛结束。否则,剩下的每支队伍都将与其他剩下的队伍进行一次循环赛(如果有 xx 支队伍,则将有 x(x1)/2x(x-1)/2场比赛),比赛结束。

例如,如果最初有20支队伍,他们将先进行10场比赛。因此,10支球队将被淘汰,剩下的10支球队将进行5场比赛。然后,剩下的5支球队将在循环赛中进行10场比赛。总共将进行10+5+10=25场比赛。

小明已经预订了n场比赛的体育场。请帮助他确定应该邀请多少支球队,以便比赛精确地进行n场比赛。您应该按升序打印所有可能的参赛队数量,这些数量将正好产生n场比赛,如果没有这样的数量,则打印-1。

输入

第一行包含一个整数n ( 1 ≤ n ≤ 10^18 ),即应进行的游戏数量。

输出

按升序打印所有可能的受邀球队数量,每行一个。如果正好n场比赛无法进行,则输出一个数字:-1。

输入样例 1

3

输出样例 1

3 4

输入/输出例子1 输入:25

输出:20

数据范围

36%数据,n<10^8

100%数据,n<=10^18

2025/1/22 16:05
加载中...