题库 C++/C语言题库 题目列表 完善程序:给定一个长度为n且从小到大排好序的序列{a1...
组合题

完善程序:给定一个长度为n且从小到大排好序的序列{a1,a2,a3,...,an},要把这个序列分成 k 段,每段的价值为该段中的最大值减去最小值,现在请你帮忙分段,使得各分段的价值之和最小(保证计算结果都在int范围内)。

#include <bits/stdc++.h>
using namespace std;
const int N=3e5+5;
int n,k,sum,a[N],b[N];
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    for(int i=1;i<n;i++) b[i]=      ①   ;
        if(    ②   )
            printf("0\n");
        else if(k==1)
            ③
        else
    {
        sort(b+1,b+n);
        sum=0;
        for(int i=1;i<=       ④   ;i++)
            printf("%d\n",sum);
        }
    return 0;
}
第1题 单选

第①空应填写?

A.

a[i]-a[i-1]

B.

a[i+1]-a[i]

C.

b[i]+a[i]

D.

b[i]+a[i]-a[i-1]

第2题 单选

第②空应填写?

A.

n=k

B.

n>k

C.

n==k

D.

n!=k

第3题 单选

第③空应填写?

A.

printf("%d\n",a[n]+a[1]);

B.

printf("%d\n",a[n]-a[1]);

C.

printf("%d\n",b[n]+b[1]);

D.

printf("%d\n",b[n]-b[1]);

第4题 单选

第④空应填写?

A.

n-k

B.

n-k+1

C.

k

D.

k-1

第5题 单选

第⑤空应填写?

A.

sum=sum+b[i]-a[i];

B.

sum=sum+b[i]+a[i];

C.

sum=sum+a[i];

D.

sum=sum+b[i];

题目信息
C++语言等级考试真题 2022年 一级 编程题
-
正确率
0
评论
224
点击