結果
問題 | No.1650 Moving Coins |
ユーザー | ygd. |
提出日時 | 2021-08-20 22:43:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 262 ms / 2,000 ms |
コード長 | 1,018 bytes |
コンパイル時間 | 355 ms |
コンパイル使用メモリ | 82,688 KB |
実行使用メモリ | 131,740 KB |
最終ジャッジ日時 | 2024-10-14 04:52:29 |
合計ジャッジ時間 | 8,640 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
import math def main(): N = int(input()) A = list(map(int,input().split())) B = list(map(int,input().split())) A.sort() B.sort() Z = [] M = 0 for i in range(N): if B[i] - A[i] > 0: moji = "R" else: moji = "L" Z.append((abs(B[i] - A[i]), i, moji)) M += abs(B[i] - A[i]) print(M) #print(Z) stack = [] for i in range(N): if Z[i][2] == "R": stack.append(Z[i]) continue #ここで全部吐き出してよい while stack: move,idx,moji = stack.pop() for j in range(move): ret = [idx+1, "R"] print(*ret) #次を追加 move,idx,moji = Z[i] for j in range(move): ret = [idx+1, "L"] print(*ret) while stack: move,idx,moji = stack.pop() for j in range(move): ret = [idx+1, "R"] print(*ret) if __name__ == '__main__': main()