记录编号 280085 评测结果 AAWWWWWWWW
题目名称 可达鸭集合变换 最终得分 20
用户昵称 GravatarAntiLeaf 是否通过 未通过
代码语言 C++ 运行时间 0.012 s
提交时间 2016-07-09 21:31:34 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=110;
int n,a[maxn],b[maxn],tmp1,tmp2,ans=0;
int main(){
#define MINE
#ifdef MINE
	freopen("Math2015.in","r",stdin);
	freopen("Math2015.out","w",stdout);
#endif
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&b[i]);
	sort(b+1,b+n+1);
	for(int i=1;i<=n;i++){
		if(i&1)a[i]=b[n-(i>>1)];
		else a[i]=b[i>>1];
	}
	for(int i=1;i<=n;i++)b[i]=b[i-1]+a[i];
	if(n&1){
		for(int k=0;k<n;k++){
			tmp1=b[k];
			tmp2=b[n-1]-b[k];
			ans=max(ans,(tmp1+a[n])*tmp2);
			ans=max(ans,tmp1*(tmp2+a[n]));
		}
	}
	else{
		for(int k=0;k<=n;k++){
			tmp1=b[k];
			tmp2=b[n]-b[k];
			ans=max(ans,tmp1*tmp2);
		}
	}
	printf("%d",ans);
	return 0;
}