万卷网 > 题目详情
题型:组合题

#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;

}

(1).

如果a数组有重复的数字,则程序运行时会发生错误。()

A.正确 B.错误
(2).

当n二100时,若b数组满足,对任意0 S i < 71,都有b [i]二1,那 么输出最小为()。

A.

582

B.

580

C.

579

D.

581

(3).

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

A.

5000

B.

600

C.

6

D.

100

(4).

当n=10时,若b数组满足,对任意0<=i<n,都有b [i]=i + 1,那么输出最 大为()。

A.

386

B.

383

C.

384

D.

385

(5).

如果b数组全为0,则输出为0。()

A.正确 B.错误
(6).

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

A.

100

B.

6

C.

5000

D.

600

更新时间:2022-11-23 19:44:11 |
【知识点】 CCF非专业级别软件能力认证CSP-J/入门级

相似题推荐

简答题

T4多边形


2026-04-17
简答题

T3异或和


2026-04-17
简答题

T2座位


2026-04-16
简答题

T1拼数

2026-04-16
单选题

假设a、b、c都是布尔变量,逻辑表达式(a &&b)IⅡ(!c &&a)的值与下列哪个表达式不始终相等?()

A.

a &&(bⅡ!c)

B.

(al|!c)&&(bⅡ !c)&&(all a)

C.

a &&(!b II c)

D.

!(!a|!b)II(a &&!c)

2025-10-16
公众号
客服 反馈
顶部