Ai×AjA_i \times A_j

면접 대비

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

요약
서로 다른 두 원소를 골라 둘 다 곱으로 바꾸거나 아무것도 하지 않아 배열 합을 최대로 만든다.
난이도

보통10점 중 4점

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

문제

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

  • 배열에서 두 원소 A_iA\_i와 A_jA\_j를 선택한다. (i≠ji \neq j)
  • 선택한 두 원소를 모두 A_i×A_jA\_i \times A\_j로 바꾼다.

연산을 최대 한 번 적용하였을 때 배열의 합의 최댓값을 구해보자.

입력

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

두 번째 줄에 배열의 원소들인 NN개의 정수 A_1,A_2,…,A_NA\_1, A\_2, \dots, A\_N이 공백으로 구분되어 주어진다. (−109≤A_i≤109)(-10^9 \leq A\_i \leq 10^9)

출력

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

예제2

  1. 예제 1

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

    입력
    2
    1 0
    
    예상 출력
    1