B3678 [语言月赛202211] Gold-Purple-Blue-Green-White 题解

· · 题解

B3678 [语言月赛202211] Gold-Purple-Blue-Green-White 题解

Source & Knowledge

2022 年 11 月语言月赛,由洛谷网校入门计划/基础计划提供。

本题考察对循环结构分支结构的应用。

文字题解

题目大意

得到两个长度为 n 的数组 a, b,对一个初始值为 x _ 0 的变量 v,从 1n 同时遍历数组 a, b。对第 i 个位置,当且仅当当前的 v \geq a _ i,我们使 v 增加 b _ i,同时使计数器增加 1

解析

首先设立上述的变量 v 和计数器变量 c。初始化前者为 x _ 0,后者为 0

建立上述两个数组 a, b

读入两个数组,具体的,我们可以使用 for 循环进行读入。以下以 a 数组的读入过程举例:

for (int i = 1; i <= n; ++i) {
    cin >> a[i];
}

读入完成后,从 1n 进行遍历。对于第 i 个位置进行判断,如果当前 v \geq a _ i,则 v 增加 b _ i,计数器增加 1

for (int i = 1; i <= n; ++i) {
    if (v >= a[i]) {
        ++c;
        v += b[i];
    }
}

最后输出 c 即可。

视频题解

完整代码请在视频中查看。