1824: BOOM
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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 ",max(s1,max(s2,s3))); } return 0; }