103107: [Atcoder]ABC310 Ex - Negative Cost

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $625$ points

Problem Statement

A monster with health $H$ has appeared right in front of you. Your magic power is now $0$.

You can use $N$ moves called move $1$, move $2$, $\ldots$, move $N$, any number of times in any order.

For each $i = 1, 2, \ldots, N$, move $i$ can only be used when your magic power is at least $C_i$, and its use will decrease your magic power by $C_i$ and the monster's health by $D_i$. Here, if $C_i$ is negative, decreasing your magic power by $C_i$ means increasing it by $-C_i$.

Find the minimum possible number of times you use moves before the monster's health is $0$ or lower. The constraints of this problem guarantee that a finite number of uses of moves can make it $0$ or lower (see below).

Constraints

  • $1 \leq N \leq 300$
  • $1 \leq H \leq 10^{18}$
  • $-300 \leq C_i \leq 300$
  • $C_i \leq 0$ for some $1 \leq i \leq N$.
  • $1 \leq D_i \leq 10^9$
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

$N$ $H$
$C_1$ $D_1$
$C_2$ $D_2$
$\vdots$
$C_N$ $D_N$

Output

Print the answer.


Sample Input 1

3 48
3 20
-4 2
1 5

Sample Output 1

5

From the initial state where your magic power is $0$ and the monster's health is $48$, consider using moves as follows.

  • Use move $2$. Now, your magic power is $4$, and the monster's health is $46$.
  • Use move $3$. Now, your magic power is $3$, and the monster's health is $41$.
  • Use move $1$. Now, your magic power is $0$, and the monster's health is $21$.
  • Use move $2$. Now, your magic power is $4$, and the monster's health is $19$.
  • Use move $1$. Now, your magic power is $1$, and the monster's health is $-1$.

Here, you use moves five times before the monster's health is not greater than $0$, which is the minimum possible number.


Sample Input 2

20 583988303060450752
-64 273760634
-238 960719353
-114 191410838
-250 357733867
232 304621362
-286 644706927
210 37849132
-230 556412112
-142 136397527
101 380675202
-140 152300688
190 442931589
-187 940659077
-12 312523039
32 126515475
-143 979861204
105 488280613
240 664922712
290 732741849
69 541282303

Sample Output 2

595990842

Input

题意翻译

## 题目描述 一头怪兽挡在你的面前,它有 $H$ 的血量。 你有 $n$ 种技能,每个技能都可以**以任意合法顺序无限次使用**。 你有一个魔力值,初始为 $0$ 。 第 $i$ 种技能会消耗 $C_i$ 的魔力值,并对怪兽造成 $D_i$ 的伤害。你要时刻保证魔力值非负。 特别的, $C_i$ 可能为负数,此时该技能会增加 $-C_i$ 的魔力值。 当怪物血量不为正数时,怪物就死了。 问:最少发动多少次技能,能杀死这只怪物? ## 输入格式 第一行 $2$ 个整数 $n,H$ 。 接下来 $n$ 行每行 $2$ 个整数 $C_i,D_i$ 。 ## 输出格式 一行一个正整数表示答案。 ## 说明/提示 对于所有的数据: - $1\le n \le 300$ - $1\le H \le 10^{18}$ - $-300 \le C_i \le 300$ - $\exist C_i <0$ - $1\le D_i \le 10^9$ - 所有输入均为整数。 ### 样例 1 说明 分别使用技能 $2,3,1,2,1$ ,共 $5$ 次技能。可以证明这是最小的。

Output

分数:625分

问题描述

一只生命值为$H$的怪物出现在你的面前。你的魔力值现在是$0$。

你可以按照任意顺序使用任意次数的$N$种移动方式,称为移动$1$,移动$2$,$\ldots$,移动$N$。

对于每个$i=1,2,\ldots,N$,当你的魔力值至少为$C_i$时,才能使用移动$i$,使用后你的魔力值将减少$C_i$,怪物的生命值将减少$D_i$。在这里,如果$C_i$为负数,那么减少你的魔力值$C_i$意味着增加$-C_i$。

找到在怪物的生命值降低到$0$或更低之前,你使用的移动次数的最小可能值。此问题的约束保证了有限次数的移动使用可以使生命值降低到$0$或更低(请参见下方)。

约束

  • $1 \leq N \leq 300$
  • $1 \leq H \leq 10^{18}$
  • $-300 \leq C_i \leq 300$
  • 对于某个$1 \leq i \leq N$,$C_i \leq 0$。
  • $1 \leq D_i \leq 10^9$
  • 所有输入值都是整数。

输入

输入从标准输入中给出,格式如下:

$N$ $H$
$C_1$ $D_1$
$C_2$ $D_2$
$\vdots$
$C_N$ $D_N$

输出

输出答案。


样例输入1

3 48
3 20
-4 2
1 5

样例输出1

5

从初始状态,即你的魔力值为$0$,怪物的生命值为$48$,考虑按照以下方式使用移动:

  • 使用移动$2$。现在,你的魔力值为$4$,怪物的生命值为$46$。
  • 使用移动$3$。现在,你的魔力值为$3$,怪物的生命值为$41$。
  • 使用移动$1$。现在,你的魔力值为$0$,怪物的生命值为$21$。
  • 使用移动$2$。现在,你的魔力值为$4$,怪物的生命值为$19$。
  • 使用移动$1$。现在,你的魔力值为$1$,怪物的生命值为$-1$。

在这里,在怪物的生命值不高于$0$之前,你使用了$5$次移动,这是可能的最小次数。


样例输入2

20 583988303060450752
-64 273760634
-238 960719353
-114 191410838
-250 357733867
232 304621362
-286 644706927
210 37849132
-230 556412112
-142 136397527
101 380675202
-140 152300688
190 442931589
-187 940659077
-12 312523039
32 126515475
-143 979861204
105 488280613
240 664922712
290 732741849
69 541282303

样例输出2

595990842

加入题单

上一题 下一题 算法标签: