题目:给定 n 个数,你可以交换任意相邻的两个数,使的原数组的前 k 个数字的和严格小于任意次交换后的前 k 个数字的和,问最小操作次数。
#include<bits/stdc++.h>
const int N = 4e5 + 10;
using namespace std;
long long n,k;
long long a[N];
int main() {
cin >> n >> k;
for (int i = 1;i <= n;i ++) {
cin >> a[i];
}
for (int i = k;i >= 1;i --) {
for (int j = k + 1;j <= n;j ++) {
if (a[j] > a[i]) {
cout << j - i <<endl;
return 0;
}
}
}
cout << -1 <<endl;
}
不知道哪错了