提出 #14702882
ソースコード 拡げる
class ST
def initialize a
@l = (1<<(a.size-1).bit_length)-1
@h = [nil]*@l + a
@h << a[-1] if a.size&1==1
(@l-1).downto(0){|i|
j = 2*i+1
next unless @h[j]
@h[i] = @h[j]|(@h[j+1]||0)
}
end
def [] l,r=l
x,l,r = 0,l+@l,r+@l
x,l,r = x|@h[l]|@h[r],l/2,r/2-1 while l<=r
return x
end
def []= i,x
i += @l
@h[i] = x
while 0<i
i = (i-1)/2
j = 2*i+1
@h[i] = @h[j]|(@h[j+1]||0)
end
end
end
gets
bs = ST.new [0]+gets.chomp.bytes.map{|c| 1<<(c-?a.ord) }
gets.to_i.times{
c,d,e = gets.split
case c
when ?1
bs[d.to_i] = 1<<e.ord-?a.ord
when ?2
p 26.times.inject([0,bs[d.to_i,e.to_i]]){|(n,b),| next n+(b&1),b>>1 }[0]
end
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Simple String Queries |
| ユーザ | ds14050 |
| 言語 | Ruby (2.7.1) |
| 得点 | 500 |
| コード長 | 708 Byte |
| 結果 | AC |
| 実行時間 | 333 ms |
| メモリ | 38948 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-sample-00 |
| All | 00-sample-00, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 01-handmade-08, 01-handmade-09, 01-handmade-10, 01-handmade-11, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 02-small-10, 02-small-11, 02-small-12, 02-small-13, 02-small-14, 02-small-15, 02-small-16, 02-small-17, 02-small-18, 02-small-19, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-00 | AC | 65 ms | 14152 KiB |
| 01-handmade-00 | AC | 286 ms | 38776 KiB |
| 01-handmade-01 | AC | 60 ms | 13988 KiB |
| 01-handmade-02 | AC | 221 ms | 38852 KiB |
| 01-handmade-03 | AC | 332 ms | 38792 KiB |
| 01-handmade-04 | AC | 325 ms | 38688 KiB |
| 01-handmade-05 | AC | 272 ms | 38604 KiB |
| 01-handmade-06 | AC | 283 ms | 38812 KiB |
| 01-handmade-07 | AC | 274 ms | 38636 KiB |
| 01-handmade-08 | AC | 331 ms | 38404 KiB |
| 01-handmade-09 | AC | 328 ms | 38612 KiB |
| 01-handmade-10 | AC | 327 ms | 38728 KiB |
| 01-handmade-11 | AC | 333 ms | 38760 KiB |
| 02-small-00 | AC | 112 ms | 14140 KiB |
| 02-small-01 | AC | 123 ms | 14180 KiB |
| 02-small-02 | AC | 110 ms | 14028 KiB |
| 02-small-03 | AC | 132 ms | 14168 KiB |
| 02-small-04 | AC | 110 ms | 14028 KiB |
| 02-small-05 | AC | 111 ms | 14216 KiB |
| 02-small-06 | AC | 138 ms | 14064 KiB |
| 02-small-07 | AC | 115 ms | 14156 KiB |
| 02-small-08 | AC | 112 ms | 14144 KiB |
| 02-small-09 | AC | 107 ms | 14108 KiB |
| 02-small-10 | AC | 141 ms | 14148 KiB |
| 02-small-11 | AC | 109 ms | 14096 KiB |
| 02-small-12 | AC | 110 ms | 14064 KiB |
| 02-small-13 | AC | 144 ms | 14076 KiB |
| 02-small-14 | AC | 125 ms | 14160 KiB |
| 02-small-15 | AC | 127 ms | 14064 KiB |
| 02-small-16 | AC | 120 ms | 14164 KiB |
| 02-small-17 | AC | 108 ms | 14072 KiB |
| 02-small-18 | AC | 126 ms | 14192 KiB |
| 02-small-19 | AC | 130 ms | 14180 KiB |
| 03-large-00 | AC | 274 ms | 38460 KiB |
| 03-large-01 | AC | 279 ms | 38772 KiB |
| 03-large-02 | AC | 284 ms | 38516 KiB |
| 03-large-03 | AC | 274 ms | 38948 KiB |
| 03-large-04 | AC | 278 ms | 38428 KiB |
| 03-large-05 | AC | 274 ms | 38944 KiB |
| 03-large-06 | AC | 274 ms | 38512 KiB |
| 03-large-07 | AC | 280 ms | 38896 KiB |
| 03-large-08 | AC | 278 ms | 38592 KiB |
| 03-large-09 | AC | 271 ms | 38644 KiB |