만드는 중입니다

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

숫자 콜로세움

면접 대비

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

요약
각 참가자는 안에 남아 있는 가장 최근의 반대편 참가자와 싸우며, 승리 팀과 최종적으로 남은 정수를 입장 순서대로 구합니다.
난이도

보통10점 중 4점

유형
스택, 시뮬레이션
정답자
아직 제출이 없습니다

문제

숫자 콜로세움에 오신 것을 환영합니다. 정수 두 팀이 전투를 준비하고 있습니다. 수직선의 왼쪽에는 음수 팀 Negatives가, 오른쪽에는 양수 팀 Positives가 있습니다. 콜로세움에서 싸우는 모든 정수는 둘 중 한 팀에 속합니다.

전투가 시작되기 전, 참가자들은 콜로세움 밖에 줄을 섭니다. 참가자는 한 명씩 입장하며 다음 규칙을 따릅니다.

  • 상대 팀 참가자가 콜로세움에 없으면, 이 참가자는 기다리며 가장 최근에 입장한 참가자가 됩니다.
  • 상대 팀 참가자가 한 명이라도 있으면, 상대 팀에서 가장 최근에 입장한 참가자와 싸웁니다. 음수와 양수가 싸우면 절댓값이 큰 쪽이 이깁니다. 싸움 후 승자의 값은 두 정수의 합이 되고, 패자는 콜로세움을 떠납니다. 두 정수의 절댓값이 같으면 둘 다 떠납니다. 승자가 있으면 상대 팀 참가자가 남아 있는 동안 계속 싸웁니다. 그렇지 않으면 기다립니다.

모든 정수가 입장한 뒤에는 한 팀만 우승으로 선언할 수 있습니다. 참가자 줄이 주어졌을 때, 어느 팀이 승리하는지와 모든 싸움이 끝난 뒤 콜로세움의 상태를 구하세요.

입력

첫 줄에 콜로세움에 입장하는 참가자 수 NN (1≤N≤5⋅1051 \le N \le 5 \cdot 10^5)이 주어집니다. 둘째 줄에는 참가자 줄을 나타내는 정수 x1,x2,…,xNx_1, x_2, \dots, x_N (1≤∣xi∣≤1061 \le |x_i| \le 10^6, 1≤i≤N1 \le i \le N)이 공백으로 구분되어 NN개 주어집니다. xix_i는 ii번째로 입장하는 참가자의 값입니다.

출력

승리하는 팀을 Positives win! 또는 Negatives win!으로 출력하세요. 다음 줄에는 모든 싸움이 끝난 뒤 콜로세움에 남은 정수를 도착한 순서대로 출력하세요.

어느 팀도 이기지 못하면 Tie!를 출력하세요.

힌트

예시 입력 1에서 N=4N=4이고, 참가자는 [−3,−4,9,1][-3, -4, 9, 1] 순서로 줄을 섭니다.

  • 먼저 참가자 −3-3이 입장하여 콜로세움에는 (−3)(-3)이 있습니다.
  • 다음으로 −4-4가 입장하여 콜로세움에는 (−3,−4)(-3, -4)가 있습니다.
  • 이어서 99가 입장해 −4-4와 싸웁니다. 99가 이겨 값이 55가 되고, −4-4는 져서 떠납니다. 그 다음 55가 −3-3과 싸워 이겨 값이 22가 되고, −3-3은 져서 떠납니다. 콜로세움에는 (2)(2)만 남습니다.
  • 마지막으로 11이 입장합니다. 최종 상태는 (2,1)(2, 1)이며, Positives win!입니다.

예제3

  1. 예제 1

    입력
    4
    -3 -4 9 1
    
    예상 출력
    Positives win!
    2 1
    
  2. 예제 2

    입력
    7
    4 -2 -2 2 -1 -1 -1
    
    예상 출력
    Negatives win!
    -1
    
  3. 예제 3

    입력
    6
    10 -2 -2 -2 -2 -2
    
    예상 출력
    Tie!