結果
問題 | No.1650 Moving Coins |
ユーザー |
|
提出日時 | 2022-09-19 17:59:30 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 328 ms / 2,000 ms |
コード長 | 869 bytes |
コンパイル時間 | 193 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 155,136 KB |
最終ジャッジ日時 | 2024-12-22 02:32:54 |
合計ジャッジ時間 | 10,721 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) cmd = [] for i in range(N): if A[i] >= B[i]: cmd.append(["L", A[i] - B[i], i + 1]) else: cmd.append(["R", B[i] - A[i], i + 1]) ans = [] stuck = [] for i in range(len(cmd)): if cmd[i][0] == "L": if stuck != []: for j in range(len(stuck)): c = stuck.pop(-1) for k in range(c[0]): ans.append([c[1], "R"]) stuck = [] for k in range(cmd[i][1]): ans.append([cmd[i][2], "L"]) else: stuck.append([cmd[i][1], cmd[i][2]]) if stuck != []: for j in range(len(stuck)): c = stuck.pop(-1) for k in range(c[0]): ans.append([c[1], "R"]) print(len(ans)) for i in range(len(ans)): print(*ans[i])