Codeforces Round #536 (Div. 2) C. Lunar New Year and Number Division(思维)

时间:2022-06-18
本文章向大家介绍Codeforces Round #536 (Div. 2) C. Lunar New Year and Number Division(思维),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目链接:http://codeforces.com/contest/1106/problem/C

       题意是给了n个数,n为偶数,要讲这n个数分为m组,每组最少有两个数,问他们的平方和最小是多少。

       显然让一个最小的和一个最大的分一组的方法是最优的...感觉BC题顺序反了...


AC代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
int pre[300005];

int main()
{
  scanf("%d",&n);
  for(int i=0;i<n;i++){
    scanf("%d",&pre[i]);
  }
  sort(pre, pre + n);
  ll ans = 0;
  for(int i=0,j=n-1;i<n/2;i++,j--){
    ans += ((ll)(pre[i]+pre[j]) * (ll)(pre[i]+pre[j]));
  }
  printf("%lldn", ans);
  return 0;
}