求助为什么样例的第五个输出是46啊
查看原帖
求助为什么样例的第五个输出是46啊
668866
Dream_and_FACT楼主2023/8/15 22:00
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define rep(i,n,x) for(int i=1;i<=n;i+=x)
#define db double
#define pii pair<int,int>
#define se second
#define fi first
#define endl '\n'
signed main(){
	int t;
	cin>>t;
	while(t--){
		int n,k;
		int sum=0;
		cin>>n>>k;
		int a[n+5];
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum+=a[i];
		}
		sort(a+1,a+n+1);
		int l=2;
		int r=n;
		while(k--){
			int left=a[l]+a[l-1];
			int right=a[r];
			if(left<right){
				sum-=left;
				l+=2;
			}
			else{
				sum-=right;
				r--;
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}
//15 22 12 10 13 11
//10 11 12 13 15 22
2023/8/15 22:00
加载中...