求助万能谷民
  • 板块学术版
  • 楼主Y_Y_T
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/3/22 22:06
  • 上次更新2023/10/23 20:49:18
查看原帖
求助万能谷民
589389
Y_Y_T楼主2023/3/22 22:06

题目:给定 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;
}

不知道哪错了

2023/3/22 22:06
加载中...