我的代码:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n,mx1=-1000000000,mx2=-1000000000,mn1=1000000000,mn2=1000000000;
vector <int> t(n);
for (int i=0;i<n;i++){
cin>>t[i];
}
for (int c=0;c<n;c++){
if (t[c]>0&&t[c]>mx1){
mx2=mx1;
mx1=t[c];
}else if (t[c]<0&&t[c]<mn1){
mn2=mn1;
mn1=t[c];
}
}
if ((mx1*mx2)>(mn1*mn2)){
cout<<mx2<<" "<<mx1;
}else{
cout<<mn1<<" "<<mn2;
}
return 0;
}
最大乘积 在一个填充了任意整数的数组中,找到两个乘积最大的数。不要使用嵌套循环。
输入数据
该程序首先被赋予值 n⩽50000——数组中元素的数量。输入的下一行包含数组元素本身 - 整数,模不超过 30000。
输出
按升序给出两个所需的数字。