$N = gets.to_i $S = gets.strip.split("").map{|s| s == "E" ? 1 : 0} $A = gets.split(" ").map{|s| s.to_i} Q = gets.to_i K = gets.split(" ").map{|s| s.to_i} def maxEnemy(k) maxres = 0 res = 0 s = t = sum = 0 loop { while t < $N and sum <= k do sum += $A[t] res += $S[t] t += 1 end if sum <= k then maxres = res if res > maxres break end maxres = (res - $S[t-1]) if (res - $S[t-1]) > maxres sum -= $A[s] res -= $S[s] s += 1 } maxres end K.each {|k| puts maxEnemy(k) }