Submission #14702414
Source Code Expand
class ST
def initialize a
@l = (1<<(a.size-1).bit_length)-1
@h = [nil]*@l + a
(@l-1).downto(0){|i|
j = 2*i+1
@h[i] = fn(@h[j],@h[j+1])
}
end
def [] l,r=l
l,r = l+@l,r+@l
x = fn(@h[l],@h[r])
while 0
l,r = l/2,r/2-1
break if r<l
x = fn(x,fn(@h[l],@h[r]))
end
return x
end
def []= i,x
i += @l
@h[i] = x
while 0<i
i = (i-1)/2
j = 2*i+1
@h[i] = fn(@h[j],@h[j+1])
end
end
private
def fn a,b
return a ? (b ? a|b : a) : b
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
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Simple String Queries |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 500 |
| Code Size | 774 Byte |
| Status | AC |
| Exec Time | 350 ms |
| Memory | 38728 KiB |
Compile Error
./Main.rb:18: warning: literal in condition
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-00 | AC | 66 ms | 14032 KiB |
| 01-handmade-00 | AC | 295 ms | 38532 KiB |
| 01-handmade-01 | AC | 66 ms | 14020 KiB |
| 01-handmade-02 | AC | 231 ms | 38368 KiB |
| 01-handmade-03 | AC | 342 ms | 38644 KiB |
| 01-handmade-04 | AC | 341 ms | 38500 KiB |
| 01-handmade-05 | AC | 293 ms | 38556 KiB |
| 01-handmade-06 | AC | 292 ms | 38640 KiB |
| 01-handmade-07 | AC | 290 ms | 38300 KiB |
| 01-handmade-08 | AC | 343 ms | 38632 KiB |
| 01-handmade-09 | AC | 350 ms | 38572 KiB |
| 01-handmade-10 | AC | 343 ms | 38460 KiB |
| 01-handmade-11 | AC | 347 ms | 38228 KiB |
| 02-small-00 | AC | 107 ms | 13928 KiB |
| 02-small-01 | AC | 135 ms | 14100 KiB |
| 02-small-02 | AC | 114 ms | 13864 KiB |
| 02-small-03 | AC | 138 ms | 13944 KiB |
| 02-small-04 | AC | 101 ms | 13964 KiB |
| 02-small-05 | AC | 114 ms | 13928 KiB |
| 02-small-06 | AC | 148 ms | 13792 KiB |
| 02-small-07 | AC | 116 ms | 13964 KiB |
| 02-small-08 | AC | 114 ms | 13944 KiB |
| 02-small-09 | AC | 119 ms | 13868 KiB |
| 02-small-10 | AC | 140 ms | 13976 KiB |
| 02-small-11 | AC | 112 ms | 13880 KiB |
| 02-small-12 | AC | 112 ms | 13948 KiB |
| 02-small-13 | AC | 140 ms | 13940 KiB |
| 02-small-14 | AC | 132 ms | 13920 KiB |
| 02-small-15 | AC | 127 ms | 13884 KiB |
| 02-small-16 | AC | 126 ms | 13944 KiB |
| 02-small-17 | AC | 109 ms | 13860 KiB |
| 02-small-18 | AC | 130 ms | 13952 KiB |
| 02-small-19 | AC | 130 ms | 14032 KiB |
| 03-large-00 | AC | 295 ms | 38652 KiB |
| 03-large-01 | AC | 296 ms | 38096 KiB |
| 03-large-02 | AC | 296 ms | 38380 KiB |
| 03-large-03 | AC | 284 ms | 38728 KiB |
| 03-large-04 | AC | 292 ms | 38436 KiB |
| 03-large-05 | AC | 296 ms | 38704 KiB |
| 03-large-06 | AC | 294 ms | 38516 KiB |
| 03-large-07 | AC | 285 ms | 38344 KiB |
| 03-large-08 | AC | 293 ms | 38596 KiB |
| 03-large-09 | AC | 293 ms | 38240 KiB |