結果
問題 | No.1650 Moving Coins |
ユーザー | McGregorsh |
提出日時 | 2022-07-23 13:59:54 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 452 ms / 2,000 ms |
コード長 | 2,152 bytes |
コンパイル時間 | 440 ms |
コンパイル使用メモリ | 86,408 KB |
実行使用メモリ | 163,688 KB |
最終ジャッジ日時 | 2023-09-18 10:26:24 |
合計ジャッジ時間 | 14,573 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge15 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 237 ms
92,004 KB |
testcase_01 | AC | 243 ms
92,264 KB |
testcase_02 | AC | 238 ms
92,176 KB |
testcase_03 | AC | 323 ms
94,224 KB |
testcase_04 | AC | 304 ms
94,344 KB |
testcase_05 | AC | 316 ms
94,232 KB |
testcase_06 | AC | 317 ms
94,344 KB |
testcase_07 | AC | 323 ms
94,536 KB |
testcase_08 | AC | 402 ms
128,532 KB |
testcase_09 | AC | 388 ms
122,336 KB |
testcase_10 | AC | 404 ms
129,844 KB |
testcase_11 | AC | 431 ms
126,132 KB |
testcase_12 | AC | 394 ms
111,288 KB |
testcase_13 | AC | 391 ms
111,232 KB |
testcase_14 | AC | 407 ms
123,164 KB |
testcase_15 | AC | 394 ms
106,596 KB |
testcase_16 | AC | 424 ms
129,160 KB |
testcase_17 | AC | 425 ms
128,676 KB |
testcase_18 | AC | 452 ms
127,056 KB |
testcase_19 | AC | 421 ms
135,692 KB |
testcase_20 | AC | 425 ms
163,688 KB |
testcase_21 | AC | 439 ms
157,852 KB |
testcase_22 | AC | 427 ms
161,344 KB |
testcase_23 | AC | 431 ms
163,024 KB |
testcase_24 | AC | 299 ms
93,696 KB |
testcase_25 | AC | 298 ms
93,972 KB |
testcase_26 | AC | 343 ms
163,612 KB |
ソースコード
import sys, re from fractions import Fraction from math import ceil, floor, sqrt, pi, factorial, gcd from copy import deepcopy from collections import Counter, deque, defaultdict from heapq import heapify, heappop, heappush from itertools import accumulate, product, combinations, combinations_with_replacement, permutations from bisect import bisect, bisect_left, bisect_right from functools import reduce from decimal import Decimal, getcontext def i_input(): return int(input()) def i_map(): return map(int, input().split()) def i_list(): return list(i_map()) def i_row(N): return [i_input() for _ in range(N)] def i_row_list(N): return [i_list() for _ in range(N)] def s_input(): return input() def s_map(): return input().split() def s_list(): return list(s_map()) def s_row(N): return [s_input for _ in range(N)] def s_row_str(N): return [s_list() for _ in range(N)] def s_row_list(N): return [list(s_input()) for _ in range(N)] def lcm(a, b): return a * b // gcd(a, b) def get_distance(x1, y1, x2, y2): d = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) return d def rotate(table): n_fild = [] for x in zip(*table[::-1]): n_fild.append(x) return n_fild sys.setrecursionlimit(10 ** 7) INF = float('inf') MOD = 10 ** 9 + 7 MOD2 = 998244353 ###関数コピーしたか?### def main(): n = int(input()) A = i_list() + [INF] B = i_list() que = deque() ans = 0 lines = [] for i in range(n): if A[i] > B[i]: lines.append([i, 0, A[i] - B[i]]) ans += A[i] - B[i] else: cost = B[i] - A[i] if cost >= A[i+1] - A[i]: que.append([i, cost]) else: lines.append([i, 1, cost]) ans += cost while que: point, gree = que.pop() lines.append([point, 1, gree]) ans += gree print(ans) for i in range(len(lines)): point, muki, count = lines[i] if muki == 0: for j in range(count): print(point+1, 'L') else: for k in range(count): print(point+1, 'R') if __name__ == '__main__': main()