G 阿宁的整数配对【2023牛客寒假算法基础集训营6】

G 阿宁的整数配对

原题连接

代码

点击查看代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
using namespace std;

#define X first
#define Y second

typedef pair<int,int> pii;
typedef long long LL;
const char nl = '\n';
const int N = 2e5+10;
const int M = 1e6+10;
int a[N];
int n,k;
int cnt1,cnt2;

void solve(){
	cin >> n >> k;
	for(int i = 1; i <= n; i ++ )cin >> a[i];
	sort(a+1,a+n+1);
	LL ans = 0;
    int i = 1,j = n;
    while(k --){
        if(a[i] * a[i + 1] <= a[j] * a[j - 1]){
            ans += a[j] * a[j - 1];
            j -= 2;
        }
        else{
            ans += a[i] * a[i + 1];
            i += 2;
        }
    }
	cout << ans;
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);

	solve();
}
posted @ 2023-02-04 11:45  Keith-  阅读(24)  评论(0)    收藏  举报