반응형
https://www.acmicpc.net/problem/1744
n = int(input())
negative = []
zero = []
positive = []
for i in range(n):
num = int(input())
if num > 0:
positive.append(num)
elif num < 0:
negative.append(num)
else:
zero.append(num)
negative.sort()
positive.sort(reverse=True)
neg_sum =0
if len(negative)>1:
for i in range(0,len(negative)-1, 2):
neg_sum += negative[i] * negative[i + 1]
if not zero and len(negative)%2==1:
neg_sum += negative[-1]
pos_sum = 0
if len(positive)>1:
for i in range(0,len(positive)-1,2):
a = positive[i]
b = positive[i+1]
pos_sum += max(a+b,a*b)
if len(positive) % 2 == 1:
pos_sum += positive[-1]
print(neg_sum+pos_sum)
초반 오류 간과했던 점
- 1과 a는 더하는게 곱하는 거보다 크다.
이것만 조심하면 풀만한 문제였다!!
댓글