QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#2904. 锦标赛种子排位

Statistics

你需要为一场一对一游戏的单败淘汰赛进行种子选手排位。报名参加比赛的选手人数恰好是 2 的幂,且比赛轮数足以决出胜者。此外,每位选手都有一个你已知的唯一数值评分;当两名选手进行比赛时,评分较高的选手总是获胜。作为比赛的组织者,你希望让比赛对选手和观众来说尽可能精彩。为此,你希望比赛具备以下特性:

  • 排名前二(评分最高)的选手出现在比赛的决赛中,排名前四的选手出现在半决赛中,排名前八的选手出现在四分之一决赛中,依此类推。这样可以将评分最高的对局留到最后。
  • 在满足上述条件的前提下,尽可能多地安排“势均力敌”的比赛。如果两名选手之间的评分差小于或等于某个阈值,我们定义该场比赛为“势均力敌”。

给定比赛轮数、判定“势均力敌”的评分差阈值以及选手的评分,在满足上述约束的情况下,可能发生的“势均力敌”比赛的最大场数是多少?

输入格式

第一行包含两个整数 $n$ ($1 \le n \le 18$) 和 $k$ ($1 \le k \le 10^9$),其中 $n$ 是比赛的轮数,$k$ 是判定比赛为“势均力敌”的评分差阈值。

接下来的 $2^n$ 行,每行包含一个整数 $r$ ($1 \le r \le 10^9$),表示每位选手的评分。保证所有选手的评分各不相同。

输出格式

输出一行,包含一个整数,表示在满足上述约束的锦标赛中,可能出现的“势均力敌”比赛的最大场数。

样例

样例输入 1

2 2
9
1
6
4

样例输出 1

1

样例输入 2

2 5
9
1
6
4

样例输出 2

3

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.