CSP2019PJ-18
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
- (阅读程序)
#include<iostream>
using namespace std;
const int maxn = 10000;
int n;
int a[maxn];
int b[maxn];
int f(int l, int r, int depth)
{
if(l > r)
return 0;
int min = maxn, mink;
for(int i = l; i <= r; ++i)
{
if(min > a[i]) //第12行
{
min = a[i];
mink = i;
}
}
int lres = f(l, mink - 1, depth + 1);
int rres = f(mink + 1, r, depth + 1);
return lres + rres + depth * b[mink];
}
int main()
{
cin >> n;
for(int i = 0; i < n; ++i)
cin >> a[i];
for(int i = 0; i < n; ++i)
cin >> b[i];
cout << f(0, n - 1, 1) << endl;
return 0;
}
(判断题)
如果 a 数组有重复的数字,则程序运行时会发生错误( )
{{ select(1) }}
- 对
- 错
如果 b 数组全为 0,则输出为 0( )
{{ select(2) }}
- 对
- 错
(选择题)
当 n = 100 时,最坏情况下,与第 12 行的比较运算执行的次数最接近的是( )
{{ select(3) }}
- 5000
- 600
- 6
- 100
当 n = 100 时,最好情况下,与第 12 行的比较运算执行的次数最接近的是( )
{{ select(4) }}
- 100
- 6
- 5000
- 600
当 n = 10 时,若 b 数组满足,对任意 0 ≤ i < n,都有 b[i] = i + 1,那么输出最大为( )
{{ select(5) }}
- 386
- 383
- 384
- 385
(4 分)当 n = 100 时,若 b 数组满足,对任意 0 ≤ i < n,都有 b[i] = 1,那么输出最小为( )
{{ select(6) }}
- 582
- 580
- 579
- 581