結果
| 問題 | No.1021 Children in Classrooms |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-12 16:29:28 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 133 ms / 2,000 ms |
| コード長 | 1,280 bytes |
| 記録 | |
| コンパイル時間 | 372 ms |
| コンパイル使用メモリ | 82,180 KB |
| 実行使用メモリ | 110,592 KB |
| 最終ジャッジ日時 | 2025-12-12 16:29:32 |
| 合計ジャッジ時間 | 4,132 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
ソースコード
import sys
def input(): return sys.stdin.readline().rstrip('\n')
def main():
n, m = map(int, input().split())
*a, = map(int, input().split())
s = input()
lp, lc, rp, rc = 0, 1, n-1, 1
for i in s:
if i == 'L':
if lp == rp:
lp = rp = max(0, lp-1)
else:
lp -= 1
rp -= 1
if lp == -1:
lp = 0
lc += 1
else:
if lp == rp:
lp = rp = min(n-1, rp+1)
else:
lp += 1
rp += 1
if rp == n:
rp = n-1
rc += 1
b = []
if lp == rp:
for i in range(n):
if i == lp:
b.append(sum(a))
else:
b.append(0)
else:
for i in range(n):
if i < lp:
b.append(0)
elif i == lp:
b.append(sum(a[:lc]))
elif lp < i < rp:
b.append(a[i-lp+lc-1])
elif rp == i:
b.append(sum(a[-rc:]))
else:
b.append(0)
print(*b)
if __name__ == '__main__':
ret = main()
if ret is not None:
print(ret)