← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#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]) {            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;}
第 30 题单选题原卷 3 分

当 n=100n=100 时,最坏情况下,与第 1212 行的比较运算执行的次数最接近的是:()。

填写答案