結果
問題 |
No.190 Dry Wet Moist
|
ユーザー |
![]() |
提出日時 | 2023-07-18 12:05:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 176 ms / 2,000 ms |
コード長 | 845 bytes |
コンパイル時間 | 525 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 108,512 KB |
最終ジャッジ日時 | 2024-09-18 11:27:20 |
合計ジャッジ時間 | 4,186 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
from collections import * N = int(input()) A = list(map(int, input().split())) A.sort() D = deque(A) ans = [] cnt = 0 while len(D) >= 2: if abs(D[0]) <= abs(D[-1]) and D[-1] >= 0: D.pop() else: if D[0] + D[-1] >= 0: break D.popleft() D.pop() cnt += 1 ans.append(cnt) D = deque(A) cnt = 0 while len(D) >= 2: if abs(D[0]) >= abs(D[-1]) and D[0] <= 0: D.popleft() else: if D[0] + D[-1] <= 0: break D.popleft() D.pop() cnt += 1 ans.append(cnt) D = deque(A) cnt = 0 while len(D) >= 2: if abs(D[0]) < abs(D[-1]): D.pop() elif abs(D[0]) > abs(D[-1]): D.popleft() else: if D[0] + D[-1] != 0: break D.popleft() D.pop() cnt += 1 ans.append(cnt) print(*ans)