加载中...

AtCoder题解|All Green


本篇博客还在持续修改润色中~

敬请期待~

AtCoder题解|ABC 104C All Green


题目信息 📚

【题目描述】

A programming competition site AtCode provides algorithmic problems. Each problem is allocated a score based on its difficulty. Currently, for each integer $i$ between $1$ and $D$ (inclusive), there are $p_i$ problems with a score of $100i$ points. These $p_1 + \ldots + p_D$ problems are all of the problems available on AtCode.

A user of AtCode has a value called total score. The total score of a user is the sum of the following two elements:

  • Base score: the sum of the scores of all problems solved by the user.
  • Perfect bonuses: when a user solves all problems with a score of $100i$ points, he/she earns the perfect bonus of $c_i$ points, aside from the base score $(1 \leq i \leq D)$.

Takahashi, who is the new user of AtCode, has not solved any problem. His objective is to have a total score of $G$ or more points. At least how many problems does he need to solve for this objective?

【输入】

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

$D$ $G$

$p_1$ $c_1$

$\vdots$

$p_D$ $c_D$

【输出】

Print the minimum number of problems that need to be solved in order to have a total score of $G$ or more points. Note that this objective is always achievable (see Constraints).

【数据范围】

  • $1 \leq D \leq 10$
  • $1 \leq p_i \leq 100$
  • $100 \leq c_i \leq 10^6$
  • $100 \leq G$
  • All values in input are integers.
  • $c_i$ and $G$ are all multiples of $100$.
  • It is possible to have a total score of $G$ or more points.

【输入样例1】

2 700
3 500
5 800

【输出样例1】

3

In this case, there are three problems each with $100$ points and five problems each with $200$ points. The perfect bonus for solving all the $100$-point problems is $500$ points, and the perfect bonus for solving all the $200$-point problems is $800$ points. Takahashi’s objective is to have a total score of $700$ points or more.

One way to achieve this objective is to solve four $200$-point problems and earn a base score of $800$ points. However, if we solve three $100$-point problems, we can earn the perfect bonus of $500$ points in addition to the base score of $300$ points, for a total score of $800$ points, and we can achieve the objective with fewer problems.

【输入样例2】

2 2000
3 500
5 800

【输出样例2】

7

This case is similar to Sample Input 1, but Takahashi’s objective this time is $2000$ points or more. In this case, we inevitably need to solve all five $200$-point problems, and by solving two $100$-point problems additionally we have the total score of $2000$ points.

【输入样例3】

2 400
3 500
5 800

【输出样例3】

2

This case is again similar to Sample Input 1, but Takahashi’s objective this time is $400$ points or more. In this case, we only need to solve two $200$-point problems to achieve the objective.

【输入样例4】

5 25000
20 1000
40 1000
50 1000
30 1000
1 1000

【输出样例4】

66

There is only one $500$-point problem, but the perfect bonus can be earned even in such a case.

【题目来源】

https://atcoder.jp/contests/abc104/tasks/abc104_c


题目解析 🍉

【题目分析】

【C++代码】


文章作者: Rickyの水果摊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rickyの水果摊 !
  目录