zzulioj--1824--BOOM(模拟水)

1824: BOOM

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 25  Solved: 5

SubmitStatusWeb Board

Description

爆破组有n包炸药,每包炸药有一定的药量,现在需要爆破A,B两个地点,A地点可以放置两包炸药,B地点只能放置一包炸药,爆破的效果为两地点药量的乘积,请给出最好效果。

Input

多实例。每个实例第一行是一个正整数N,代表有N个炸药

接下来一行有N个数字,分别代表每一个炸药的药量值。

Output

每组实例输出爆炸的最好效果值。

Sample Input

31 2 3

Sample Output

9

HINT

Source

太高估这一道题了,刚开始看错了,还以为是背包,没想到这么水,,,,,

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
long long num[10010];
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		memset(num,0,sizeof(num));
		for(int i=1;i<=n;i++)
		scanf("%lld",&num[i]);
		sort(num+1,num+1+n);
		long long s1,s2,s3;
		s1=(num[n-1]+num[n-2])*num[n];
		s2=(num[n]+num[n-1])*num[n-2];
		s3=(num[n]+num[n-2])*num[n-1];
		printf("%lld\n",max(s1,max(s2,s3)));
	}
	return 0;
}


posted @ 2015-12-13 14:04  上弦月307  阅读(173)  评论(0编辑  收藏  举报