結果
問題 |
No.935 う し た ぷ に き あ く ん 笑 ビ - ム
|
ユーザー |
![]() |
提出日時 | 2019-12-05 19:18:07 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 508 bytes |
コンパイル時間 | 184 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 25,088 KB |
最終ジャッジ日時 | 2024-12-21 15:08:52 |
合計ジャッジ時間 | 81,850 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 42 TLE * 16 |
コンパイルメッセージ
Syntax OK
ソースコード
def max(a,b); a > b ? a : b; end N = gets.to_i S = gets.chomp A = gets.split.map(&:to_i) Q = gets.to_i K = gets.split.map(&:to_i) E = Array.new(N + 1, 0).tap do |it| N.times do |i| it[i + 1] = it[i] + (S[i] == 'E' ? 1 : 0) end end H = Array.new(N + 1, 0).tap do |it| N.times do |i| it[i + 1] = it[i] + A[i] end end ANS = K.map do |k| e = 0 (1 .. N).inject(0) do |l,r| (l .. r).find{|l_| H[r] - H[l_] <= k }.tap do |l_| e = max(e, E[r] - E[l_]) end end e end puts ANS