Submission #24412768
Source Code Expand
class ST
def initialize a
@l = (1<<(a.size-1).bit_length)-1
@h = [a[-1]]*@l+a
((@l+a.size-2)/2).downto(0){|i|
@h[i] = @h[i+i+1,2].min
}
@h<<a[-1]
end
def [] l,r
lm,rm = @h[l+=@l],@h[r+=@l]
l,r,lm,rm = l/2,r/2-1,[@h[l],lm].min,[@h[r],rm].min until r<l
return [lm,rm].min
end
def is l,r
is,i0,w,m = [0],0,@l+1,self[l,r]
until w<2 || is.empty?
i0 += (@l+1)/w
w /= 2
is = is.inject([]){|a,i|
a<<i if m==@h[i0+i+=i]
a<<i if m==@h[i0+i+=1]
next a
}
is.shift while is[0] && is[0]*w+w<=l
is.pop while is[-1] && r<is[-1]*w
end
return is
end
def []= i,v
i += @l
@h[i] = v
@h[i] = @h[i+i+1,2].min while 0<=i=(i-1)/2
return v
end
end
N,Q = gets.split.map(&:to_i)
A = 10**9,*gets.split.map(&:to_i)
M = ST.new A
Q.times{
t,x,y = gets.split.map(&:to_i)
if t<2
M[x] = A[x] = y if A[x]!=y
else
is = M.is x,y
print is.size,' ',is*' ',"\n"
end
}
Submission Info
| Submission Time | |
|---|---|
| Task | L - Multiple Min Query |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 0 |
| Code Size | 966 Byte |
| Status | WA |
| Exec Time | 1676 ms |
| Memory | 57136 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 6 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, example0.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 000.txt | WA | 227 ms | 14164 KiB |
| 001.txt | WA | 220 ms | 14252 KiB |
| 002.txt | WA | 752 ms | 14116 KiB |
| 003.txt | WA | 748 ms | 14224 KiB |
| 004.txt | WA | 696 ms | 14172 KiB |
| 005.txt | WA | 700 ms | 14108 KiB |
| 006.txt | WA | 674 ms | 14100 KiB |
| 007.txt | WA | 674 ms | 14160 KiB |
| 008.txt | AC | 161 ms | 16072 KiB |
| 009.txt | AC | 160 ms | 15920 KiB |
| 010.txt | WA | 342 ms | 15944 KiB |
| 011.txt | WA | 340 ms | 16156 KiB |
| 012.txt | WA | 603 ms | 15792 KiB |
| 013.txt | WA | 580 ms | 15704 KiB |
| 014.txt | WA | 859 ms | 15448 KiB |
| 015.txt | WA | 819 ms | 15444 KiB |
| 016.txt | AC | 218 ms | 40624 KiB |
| 017.txt | AC | 238 ms | 41388 KiB |
| 018.txt | AC | 368 ms | 52828 KiB |
| 019.txt | AC | 369 ms | 52824 KiB |
| 020.txt | WA | 427 ms | 56892 KiB |
| 021.txt | WA | 425 ms | 57136 KiB |
| 022.txt | WA | 934 ms | 37100 KiB |
| 023.txt | WA | 1202 ms | 37340 KiB |
| 024.txt | WA | 1063 ms | 15608 KiB |
| 025.txt | WA | 1064 ms | 15480 KiB |
| 026.txt | WA | 1065 ms | 15380 KiB |
| 027.txt | WA | 1443 ms | 36444 KiB |
| 028.txt | WA | 1456 ms | 36616 KiB |
| 029.txt | WA | 1273 ms | 36552 KiB |
| 030.txt | WA | 1174 ms | 15524 KiB |
| 031.txt | WA | 1174 ms | 15492 KiB |
| 032.txt | WA | 1188 ms | 15536 KiB |
| 033.txt | WA | 1381 ms | 36484 KiB |
| 034.txt | WA | 1409 ms | 36548 KiB |
| 035.txt | WA | 1676 ms | 36552 KiB |
| 036.txt | WA | 687 ms | 20532 KiB |
| 037.txt | WA | 701 ms | 20768 KiB |
| 038.txt | AC | 707 ms | 21800 KiB |
| 039.txt | AC | 849 ms | 41580 KiB |
| 040.txt | WA | 829 ms | 40112 KiB |
| 041.txt | AC | 855 ms | 41728 KiB |
| example0.txt | AC | 57 ms | 14384 KiB |