[语言月赛202303] Milk Sales S 题解
[语言月赛202303] Milk Sales S 题解
Source & Knowledge
2023 年 3 月语言月赛,由洛谷网校入门计划/基础计划提供。
本题考察循环结构。
文字题解
题目大意
给定两个数列
解析
算法一
一个简单的做法是从小到大枚举
for (int x = 1; x <= n; ++x) {
long long sa = 0, sb = 0;
for (int i = 1; i <= x; ++i) {
sa += a[i]; sb += b[i];
}
if (sa < sb) {
ans = x; break;
}
}
这一做法使用了一个循环嵌套。外层循环大小为
更具体的分析,循环的执行次数是
算法二
观察算法一的代码,可以发现
具体来说,假设上次循环已经求出了
long long sa = 0, sb = 0;
for (x = 1; x <= n; ++x) {
sa += a[x]; sb += b[x];
if (sa < sb) {
ans = x; break;
}
}
这份代码只用了一个长度为
需要注意的是,long long。
视频题解
完整代码请在视频中观看。