結果
問題 |
No.1021 Children in Classrooms
|
ユーザー |
![]() |
提出日時 | 2023-02-21 21:53:38 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 822 bytes |
コンパイル時間 | 161 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 112,188 KB |
最終ジャッジ日時 | 2024-07-22 06:27:51 |
合計ジャッジ時間 | 8,746 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 TLE * 1 -- * 7 |
ソースコード
# 各クラスがM回後にどこにいるか考えればいい # これで間に合うのか、もっとスマートな方法が必要なのか N, M = map(int, input().split()) A = list(map(int, input().split())) S = input() level = 0 floor, ceiling = 0, 0 for s in S: if s == 'R': level += 1 else: level -= 1 floor = min(floor, level) ceiling = max(ceiling, level) mx_list = [] mn_list = [] for i in range(N): mx_list.append(N-1-i) mn_list.append(-i) final = [0]*N for i in range(N): if ceiling <= mx_list[i] and mn_list[i] <= floor: final[i+level] += A[i] else: l = i for s in S: if s == 'R': l = min(l+1, N-1) elif s == 'L': l = max(l-1, 0) final[l] += A[i] print(*final)