CF1578E Easy Scheduling
题目描述
Eonathan Eostar 决定学习多处理器系统的魔法。他有一棵高度为 $h$ 的满二叉任务树。一开始,树中只有根节点的任务是就绪的。每一时刻,有 $p$ 个进程选择至多 $p$ 个就绪任务并执行它们。之后,父任务已被执行的任务会在下一时刻变为就绪。一旦任务变为就绪状态,它会一直保持就绪直到被执行。
你需要计算系统完成所有任务所需的最少时刻数。
输入格式
输入的第一行为测试组数 $t$($1 \leq t \leq 5 \cdot 10^5$)。接下来的 $t$ 行,每行描述一个测试用例。每个测试用例包含两个整数 $h$($1 \leq h \leq 50$)和 $p$($1 \leq p \leq 10^4$),分别表示满二叉树的高度和进程数。保证所有测试用例互不相同。
输出格式
对于每个测试用例,输出一个整数,表示系统完成所有任务所需的最少时刻数,每个答案占一行。
说明/提示
我们来看样例输入的第二个测试用例。有一棵高度为 $3$ 的满二叉树,有两个进程。第一时刻,只有一个就绪任务 $1$,$p_1$ 执行它。第二时刻,有两个就绪任务 $2$ 和 $3$,两个进程分别执行它们。第三时刻,有四个就绪任务 $4$、$5$、$6$ 和 $7$,$p_1$ 执行 $6$,$p_2$ 执行 $5$。第四时刻,有两个就绪任务 $4$ 和 $7$,两个进程分别执行它们。因此,系统共用 $4$ 个时刻完成所有任务。

由 ChatGPT 4.1 翻译