본문 바로가기
IT/BOJ

백준(BOJ) 14753 MultiMax

by 빨강자몽 2018. 8. 10.

# 단순 구현

양수 음수 0에 대한 경우의 수를 나눠서 해결한다.


#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#define MAX 1005
#define INF 987654321
#define MOD 1000000
#pragma warning(disable:4996)
using namespace std;
typedef long long ll;
typedef pair<int, int> pi;

int n,a;
vector<int> v;
priority_queue<int> ans;

int main()
{
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a);
        v.push_back(a);
    }
    sort(v.begin(),v.end());
    ans.push(v[n-1]*v[n-2]*v[n-3]);
    // 모두 양수인경우, 음수인 경우
    ans.push(v[n-1]*v[n-2]);
    // 양수 2개 음수 한개
    ans.push(v[0]*v[1]*v[n-1]);
    // 음수 2개 이상 양수 한개 이상
    ans.push(v[0]*v[1]);
    // 음수 2개와 0
    printf("%d",ans.top());
    return 0;
}



'IT > BOJ' 카테고리의 다른 글

백준(BOJ) 11068 회문인 숫자 *  (0) 2018.08.16
백준(BOJ) 13328 Message Passing *  (0) 2018.08.11
백준(BOJ) 13325 이진트리 *  (0) 2018.08.10
백준(BOJ) 14754 pizza boxes *  (0) 2018.08.08
백준(BOJ) 14746 Closest Pair *  (0) 2018.08.08