2018校招真题在线编程-拼多多-最大乘机
Posted 氵冫丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018校招真题在线编程-拼多多-最大乘机相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
/**
* 如果全是正数,最大的三个数的乘机最大;
* 如果全是负数,最大的三个数的乘机最大;
* 如果有正数 和 负数,三个数的乘机最大有下面几种情况:
* 1. 最大三个正数的乘机;
* 2. 最小的两个数、最大的数,这三个数的乘机;
* 顺序遍历找到上面五个数
*/
int main(int argc,char *argv[])
int n;
cin >> n;
long max1 = 1;
long max2 = 1;
long max3 = 1;
long min1 = 1;
long min2 = 1;
long value = 1;
for (int i = 0; i < n; ++i)
cin >> value;
if (value > max1)
max3 = max2;
max2 = max1;
max1 = value;
else if (value > max2)
max3 = max2;
max2 = value;
else if (value > max3)
max3 = value;
else if (min1 > value)
min2 = min1;
min1 = value;
else if (min2 > value)
min2 = value;
cout << max(max1 * max2 * max3,max1 * min1 * min2);
return 0;
以上是关于2018校招真题在线编程-拼多多-最大乘机的主要内容,如果未能解决你的问题,请参考以下文章