前k小的数字和-题解

描述

章西西捡到了一张纸条,打开后里面居然是一道题目!!!
给定一个长度为n的整数序列,请你使用冒泡排序,求出其中前k小的元素之和。
其中,n的最大值为2000,所有数字都在int范围内。

输入描述

第一行包含两个整数n,k。
第二行包含 n个整数,表示整数序列。

输出描述

输出一个整数,表示前k小的数字之和,保证最后的数据和不会超过int

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;

int main(){
int n,k;
cin >> n >> k;
int in[n];
for(int i = 0;i<n;i++){
cin >> in[i];
}
for(int i = 0;i<n-1;i++){
for(int j = 0;j<n-1;j++){
if(in[j]>in[j+1]){
swap(in[j],in[j+1]);
}
}
}
int sum = 0;
for(int i = 0;i<k;i++){
sum += in[i];
}
cout << sum;
return 0;
}

前k小的数字和-题解
https://chenxi-tijie.pages.dev/2025/07/前k小的数字和-题解/
作者
chenxi
发布于
2025年7月3日
许可协议