Maximze A[P] * A[Q] * A[R] for any triplet (P, Q, R).
Solution
#include <algorithm>int solution(vector<int> &A) { // write your code in C++11 (g++ 4.8.2) sort(A.begin(), A.end()); int s = int(A.size()); int m1 = A[s - 1] * A[s- 2] * A[s - 3]; if ((A[s - 1] < 0) || (A[0] > 0)) return m1; int m2 = A[0] * A[1] * A[s- 1]; return max(m1, m2);}