結果
問題 |
No.1650 Moving Coins
|
ユーザー |
![]() |
提出日時 | 2021-08-20 21:47:35 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 245 ms / 2,000 ms |
コード長 | 766 bytes |
コンパイル時間 | 160 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 144,696 KB |
最終ジャッジ日時 | 2024-10-14 03:11:11 |
合計ジャッジ時間 | 8,784 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
""" 回数は恐らく最小でおk 構築が… 左に動かしたい奴を列挙する。 この集合は、左端のやつから動かしていけば問題ない 右に動かしたい奴 これは、右端のやつからやればおk """ import sys from sys import stdin N = int(stdin.readline()) A = list(map(int,stdin.readline().split())) B = list(map(int,stdin.readline().split())) ans = [] LQ = [] RQ = [] for i in range(N): if A[i] > B[i]: LQ.append( i ) else: RQ.append( i ) LQ.sort() RQ.sort() RQ.reverse() for i in LQ: for j in range(abs(A[i]-B[i])): ans.append( (i+1,"L") ) for i in RQ: for j in range(abs(A[i]-B[i])): ans.append( (i+1,"R") ) print (len(ans)) for i in ans: print (*i)