AT_abc305_h [ABC305Ex] Shojin

题目描述

你决定进行“精进”。“精进”指的是大量解答 AtCoder 的题目。 精进需要花费若干天。一天的精进按照以下步骤进行: - 假设这一天你要解 $M$ 道题。每道题都带有一个非负整数对 $(A, B)$,称为**难度**。 - 首先,可以任意排列这 $M$ 道题的顺序。然后,按照排列后的顺序依次解题。 - 你有一个**疲劳度**的数值。一天开始时疲劳度为 $0$,每当解答一题难度为 $(A, B)$ 的题目时,疲劳度从 $x$ 变为 $Ax + B$。 - 解完这 $M$ 道题时的疲劳度,称为这一天**消耗的体力**。 有 $N$ 道 AtCoder 的题目,依次编号为第 $1$ 题、第 $2$ 题、$\dots$、第 $N$ 题。第 $i$ 题的难度为 $(A_i, B_i)$。 你打算通过精进将这 $N$ 道题全部解完。 精进的具体流程如下。以下将第 $L$ 题到第 $R$ 题的题目序列记作 $[L, R]$。 - 可以自由选择一个 $1 \leq K \leq N$ 的整数,表示精进的天数为 $K$ 天。 - 将 $N$ 道题的序列划分为 $K$ 个非空连续子序列,记第 $i$ 个子序列为 $S_i$。 形式化地说,选择一个严格单调递增的非负整数序列 $x_0, x_1, \dots, x_K$,满足 $x_0 = 1$ 且 $x_K = N+1$,对于 $1 \leq i \leq K$,有 $S_i = [x_{i-1}, x_i - 1]$。 - 然后,对于 $i=1,2,\dots,K$,第 $i$ 天精进时解答 $S_i$ 中的所有题目。 你希望通过精进,使得精进过程中消耗的体力总和不超过 $X$。 在满足上述条件的情况下,精进天数 $K$ 能取到的最小值记为 $D$。(这里保证 $\sum_{i=1}^N B_i \leq X$,在此约束下,必然存在满足条件的 $D$。) 此外,在 $K = D$ 的精进方案中,精进过程中消耗的体力总和能取得的最小值记为 $M$。 请你求出 $D$ 和 $M$。

输入格式

输入按以下格式从标准输入给出。 > $N$ $X$ $A_1$ $B_1$ $A_2$ $B_2$ $\vdots$ $A_N$ $B_N$

输出格式

请输出 $D$ 和 $M$,以空格分隔。

说明/提示

### 限制条件 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq X \leq 10^8$ - $1 \leq A_i \leq 10^5$ - $1 \leq B_i$ - $\sum_{i=1}^N B_i \leq X$ - 输入的所有值均为整数 ### 样例解释 1 在本测试用例中,可以在满足 $X$ 的条件下一天内解完所有题。按照以下步骤精进,精进过程中消耗的体力总和为 $52$,且这是最小值。 - 取 $K=1$,第 $1$ 天解 $[1, 3]$。 - 第 $1$ 天精进的具体过程如下: - 将题目按(第 $3$ 题、第 $2$ 题、第 $1$ 题)的顺序排列。 - 初始疲劳度为 $0$。 - 解第 $3$ 题,疲劳度变为 $5 \times 0 + 7 = 7$。 - 解第 $2$ 题,疲劳度变为 $3 \times 7 + 4 = 25$。 - 解第 $1$ 题,疲劳度变为 $2 \times 25 + 2 = 52$。 - 解完所有题时的疲劳度为 $52$,即这一天消耗的体力为 $52$。 - 精进过程中消耗的体力总和也为 $52$。 ### 样例解释 2 本测试用例是第一个样例中 $X$ 从 $100$ 改为 $30$ 的情况。因此,无法在满足 $X$ 的条件下一天内解完所有题。按照以下步骤精进 $2$ 天,可以达到 $M=17$。 - 取 $K=2$,第 $1$ 天解 $[1, 2]$,第 $2$ 天解 $[3, 3]$。 - 第 $1$ 天精进的具体过程如下: - 将题目按(第 $1$ 题、第 $2$ 题)的顺序排列。 - 初始疲劳度为 $0$。 - 解第 $1$ 题,疲劳度变为 $2 \times 0 + 2 = 2$。 - 解第 $2$ 题,疲劳度变为 $3 \times 2 + 4 = 10$。 - 解完所有题时的疲劳度为 $10$,即第 $1$ 天消耗的体力为 $10$。 - 第 $2$ 天精进的具体过程如下: - 将题目按(第 $3$ 题)的顺序排列。 - 初始疲劳度为 $0$。 - 解第 $3$ 题,疲劳度变为 $5 \times 0 + 7 = 7$。 - 解完所有题时的疲劳度为 $7$,即第 $2$ 天消耗的体力为 $7$。 - 精进过程中消耗的体力总和为 $10 + 7 = 17$。 ### 样例解释 3 每天只解一道题的精进方式就是答案。 由 ChatGPT 4.1 翻译