importsysfromtypingimportListdefsolution(nums:List[int])->int:plus,minus,one=[],[],[]fornuminnums:ifnum>1:plus.append(num)continue# 당연히 음수에 0이 포함돼야지 더 커짐
ifnum<=0:minus.append(num)continue# 양수, 음수 모두 더하는 게 더 커짐
# if num == 1:
one.append(num)plus.sort(reverse=True)minus.sort()answer=sum(one)# 양수, 음수 각각 계산
foriinrange(0,len(plus),2):ifi==len(plus)-1:answer+=plus[i]breakanswer+=plus[i]*plus[i+1]foriinrange(0,len(minus),2):ifi==len(minus)-1:answer+=minus[i]breakanswer+=minus[i]*minus[i+1]returnanswerN=int(sys.stdin.readline().rstrip())nums=[]for_inrange(N):nums.append(int(sys.stdin.readline().rstrip()))print(solution(nums))
Leave a comment