0
已解决
汪宇航
新手启示者
新手启示者
给定n个正整数,请你在这n个正整数中找出3个数,要保证3个数之和不超过一个给定的值w,则能够找出来的3个数的乘积最大是多少?如果没有符合条件的3个数,则输出-1。
输入描述 Input Description
输入有两行,
第一行输入两个个正整数n和w;
第二行输入n个正整数。
输出描述 Output Description
输出满足条件的3个数乘积的最大值。(没有符合条件的数则输出-1)
样例输入 Sample Input
5 15 3 9 7 5 3
样例输出 Sample Output
105
数据范围及提示 Data Size & Hint
n<=100,w<=200000。
输入的每个正整数不超过100000。
汪宇航在2021-05-12 20:35:20追加了内容
D.
汪宇航在2021-05-12 20:49:26追加了内容
#include <bits/stdc++.h>
using namespace std;
long long a[500];
long long maxn=-1;
int main(){
int x,y;
cin>>x>>y;
for(int i=1;i<=x;i++){
cin>>a[i];
}
sort(a+1,a+1+x);
for(int i=x;i>=3;i--){
if(a[i]+a[i-1]+a[i-2]<=y){
maxn=max(maxn,a[i]*a[i-1]*a[i-2]);
}
}
cout<<maxn;
return 0;
}
40...
0
已采纳
褚俊皓
新手天翼
新手天翼
0
盛慧慧
初级光能
初级光能