結果
| 問題 |
No.1245 ANDORゲーム(calc)
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2023-04-11 22:57:52 |
| 言語 | Ruby (3.4.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 536 bytes |
| コンパイル時間 | 158 ms |
| コンパイル使用メモリ | 7,296 KB |
| 実行使用メモリ | 38,180 KB |
| 最終ジャッジ日時 | 2024-10-07 18:11:00 |
| 合計ジャッジ時間 | 7,198 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 8 TLE * 12 -- * 5 |
コンパイルメッセージ
Syntax OK
ソースコード
N, Q = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
S = gets.chomp
T = gets.split.map(&:to_i)
len = A.map(&:bit_length).max
memo = Array.new(len) { Array.new(2, 0) }
len.times do |i|
val = 2.pow(i)
2.times do |d|
cur = d
A.each.with_index do |a, idx|
b_cur = cur
if S[idx] == '0'
cur &= a[i]
else
cur |= a[i]
end
memo[i][d] += (cur ^ b_cur) * val
end
end
end
T.each do |t|
ans = 0
len.times do |i|
d = t[i]
ans += memo[i][d]
end
puts ans
end
siman