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("%lld\n", ans);
  return 0;
}

 

全部评论

相关推荐

12-24 20:52
武汉大学 Java
点赞 评论 收藏
分享
牛客60022193...:大厂都招前端,他们觉得AI能替代前端,可能他们公司吊打btaj吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务