만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Ai×AjA_i \times A_j

면접 대비

시간 제한1초메모리 제한1024 MB

요약
배열에서 서로 다른 두 원소를 골라 둘 다 그 곱으로 바꿀 때 얻을 수 있는 합의 최댓값을 구합니다. 연산을 하지 않는 경우도 포함합니다.
난이도

보통10점 중 5점

유형
배열, 정렬, 그리디, 수학
정답자
아직 제출이 없습니다

문제

크기가 NN인 배열이 주어진다. 이 배열에 다음 연산을 최대 한 번 적용할 수 있다.

  • 배열에서 두 원소 AiA_i와 AjA_j를 선택한다. (i≠ji \neq j)
  • 선택한 두 원소를 모두 Ai×AjA_i \times A_j로 바꾼다.

연산을 최대 한 번 적용했을 때 배열 합의 최댓값을 구한다.

입력

첫 번째 줄에 배열의 크기 NN이 주어진다. (2≤N≤2×1052 \leq N \leq 2 \times 10^5)

두 번째 줄에 배열의 원소 A1,A2,…,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (−109≤Ai≤109-10^9 \leq A_i \leq 10^9)

출력

배열 합의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    4
    3 -2 4 7
    
    예상 출력
    57
    
  2. 예제 2

    입력
    2
    1 0
    
    예상 출력
    1