- 选择排序
bc
- 2025-6-8 18:00:01 @
#include <bits/stdc++.h>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<int> A(n + 1);
for (int i = 1; i <= n; ++i) {
cin >> A[i];
}
vector<int> queries(m);
for (int i = 0; i < m; ++i) {
cin >> queries[i];
}
int current_q = 0;
for (int i = 1; i < n && current_q < m; ++i) {
int min_idx = i;
for (int j = i + 1; j <= n; ++j) {
if (A[j] < A[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
swap(A[i], A[min_idx]);
}
while (current_q < m && queries[current_q] == i) {
for (int k = 1; k <= n; ++k) {
cout << A[k] << " \n"[k == n];
}
current_q++;
}
}
while (current_q < m) {
for (int k = 1; k <= n; ++k) {
cout << A[k] << " \n"[k == n];
}
current_q++;
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 1721
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 166
- 已通过
- 23
- 上传者