結果
| 問題 |
No.1021 Children in Classrooms
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2020-09-04 03:17:33 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 312 ms / 2,000 ms |
| コード長 | 640 bytes |
| コンパイル時間 | 111 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 29,824 KB |
| 最終ジャッジ日時 | 2024-11-24 14:06:53 |
| 合計ジャッジ時間 | 5,869 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
S = gets.chomp
idx = 0
zure = 0
min_idx = Float::INFINITY
max_idx = -Float::INFINITY
S.each_char do |s|
if s == 'L'
idx -= 1
zure -= 1
else
idx += 1
zure += 1
end
zure = 0 if zure < 0
zure = N - 1 if N <= zure
min_idx = idx if min_idx > idx
max_idx = idx if max_idx < idx
end
min_idx.abs.times do
if A.size >= 2
a1, a2 = A.shift(2)
A.unshift(a1 + a2)
end
end
max_idx.times do
if A.size >= 2
a1, a2 = A.pop(2)
A.push(a1 + a2)
end
end
ans = Array.new(N, 0)
A.each do |a|
ans[zure] = a
zure += 1
end
puts ans.join(' ')
siman