Submission #40310343
Source Code Expand
class ST
def initialize a
@l = (1<<(a.size-1).bit_length)-1
@a = [nil]*@l
@a.concat a
@a.concat [a[-1]]*(@l+1-a.size)
(@l-1).downto(0){|i|
@a[i] = @a[i+i+1,2].min
}
end
def [] l,r
return if r<l
l,r = @l+l,@l+r
lm,rm = @a[l],@a[r]
lm,rm,l,r = [@a[l],lm].min,[@a[r],rm].min,l/2,r/2-1 until r<l
return [lm,rm].min
end
end
Inf = 10**18+1
N = gets.to_i
A = 0,*gets.split.map{_1.to_i},Inf
B = 0,*gets.split.map{_1.to_i},Inf
C = (A+B).sort
AM,BM,CM = [A,B,C].map{|as| ST.new as.each_cons(2).map{|a,b| b-a } }
IC0,IC1 = {},{}
C.each_with_index.chunk{|c,|c}.each{|c,is|
IC0[c] = is[0][1]
IC1[c] = is[-1][1]
}
puts gets.to_i.times.map{
l,r,x,y = gets.split.map{_1.to_i}
am = AM[l,r-1]||Inf
bm = BM[x,y-1]||Inf
l0,l1 = A[l],B[x]
r0,r1 = A[r],B[y]
next [am,bm,(r1-l0).abs,(r0-l1).abs].min if r0<=l1 || r1<=l0
l0,l1 = l1,l0 if l1<l0
r0,r1 = r1,r0 if r1<r0
cm = CM[IC1[l1],IC0[r0]-1]||Inf
l0 = A[l]<l1 ? A[A.bsearch_index{|a| l1<a }-1]:
B[x]<l1 ? B[B.bsearch_index{|b| l1<b }-1]:
l1
r1 = r0<A[r] ? A[A.bsearch_index{|a| r0<=a }]:
r0<B[y] ? B[B.bsearch_index{|b| r0<=b }]:
r0
#warn [[l0,l1,r0,r1],[am,bm,cm]].inspect
next [am,bm,cm,l1-l0,r1-r0].min
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Collaboration |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 600 |
| Code Size | 1257 Byte |
| Status | AC |
| Exec Time | 2457 ms |
| Memory | 100948 KiB |
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 50 / 50 | 150 / 150 | 400 / 400 | ||||||||
| Status |
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0.txt, example1.txt, example2.txt |
| Subtask1 | example0.txt, example1.txt, example2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
| Subtask2 | example1.txt, subtask2_0.txt, subtask2_1.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_2.txt, subtask2_3.txt, subtask2_4.txt, subtask2_5.txt, subtask2_6.txt, subtask2_7.txt, subtask2_8.txt, subtask2_9.txt |
| Subtask3 | example0.txt, example1.txt, example2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask2_0.txt, subtask2_1.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_2.txt, subtask2_3.txt, subtask2_4.txt, subtask2_5.txt, subtask2_6.txt, subtask2_7.txt, subtask2_8.txt, subtask2_9.txt, subtask3_0.txt, subtask3_1.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt, subtask3_2.txt, subtask3_20.txt, subtask3_21.txt, subtask3_22.txt, subtask3_23.txt, subtask3_24.txt, subtask3_25.txt, subtask3_26.txt, subtask3_27.txt, subtask3_28.txt, subtask3_29.txt, subtask3_3.txt, subtask3_30.txt, subtask3_31.txt, subtask3_32.txt, subtask3_4.txt, subtask3_5.txt, subtask3_6.txt, subtask3_7.txt, subtask3_8.txt, subtask3_9.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example0.txt | AC | 57 ms | 14092 KiB |
| example1.txt | AC | 57 ms | 14116 KiB |
| example2.txt | AC | 59 ms | 14164 KiB |
| subtask1_0.txt | AC | 65 ms | 14536 KiB |
| subtask1_1.txt | AC | 67 ms | 14452 KiB |
| subtask1_10.txt | AC | 64 ms | 14336 KiB |
| subtask1_11.txt | AC | 64 ms | 14508 KiB |
| subtask1_12.txt | AC | 64 ms | 14432 KiB |
| subtask1_13.txt | AC | 63 ms | 14428 KiB |
| subtask1_14.txt | AC | 63 ms | 14532 KiB |
| subtask1_15.txt | AC | 54 ms | 14280 KiB |
| subtask1_16.txt | AC | 62 ms | 14548 KiB |
| subtask1_2.txt | AC | 65 ms | 14564 KiB |
| subtask1_3.txt | AC | 69 ms | 14428 KiB |
| subtask1_4.txt | AC | 62 ms | 14540 KiB |
| subtask1_5.txt | AC | 65 ms | 14464 KiB |
| subtask1_6.txt | AC | 64 ms | 14516 KiB |
| subtask1_7.txt | AC | 64 ms | 14740 KiB |
| subtask1_8.txt | AC | 68 ms | 14680 KiB |
| subtask1_9.txt | AC | 65 ms | 14588 KiB |
| subtask2_0.txt | AC | 1275 ms | 100920 KiB |
| subtask2_1.txt | AC | 1084 ms | 57936 KiB |
| subtask2_10.txt | AC | 1525 ms | 86028 KiB |
| subtask2_11.txt | AC | 1517 ms | 88996 KiB |
| subtask2_12.txt | AC | 1514 ms | 86032 KiB |
| subtask2_13.txt | AC | 1524 ms | 86180 KiB |
| subtask2_14.txt | AC | 1518 ms | 86288 KiB |
| subtask2_15.txt | AC | 1432 ms | 80576 KiB |
| subtask2_16.txt | AC | 1450 ms | 80528 KiB |
| subtask2_2.txt | AC | 1512 ms | 99720 KiB |
| subtask2_3.txt | AC | 1477 ms | 86616 KiB |
| subtask2_4.txt | AC | 1196 ms | 100432 KiB |
| subtask2_5.txt | AC | 1730 ms | 97696 KiB |
| subtask2_6.txt | AC | 1744 ms | 100892 KiB |
| subtask2_7.txt | AC | 1736 ms | 100872 KiB |
| subtask2_8.txt | AC | 1732 ms | 99032 KiB |
| subtask2_9.txt | AC | 1735 ms | 95088 KiB |
| subtask3_0.txt | AC | 1784 ms | 99688 KiB |
| subtask3_1.txt | AC | 1689 ms | 86796 KiB |
| subtask3_10.txt | AC | 2410 ms | 95308 KiB |
| subtask3_11.txt | AC | 2334 ms | 100544 KiB |
| subtask3_12.txt | AC | 2363 ms | 99200 KiB |
| subtask3_13.txt | AC | 2457 ms | 100728 KiB |
| subtask3_14.txt | AC | 2363 ms | 100632 KiB |
| subtask3_15.txt | AC | 2116 ms | 88972 KiB |
| subtask3_16.txt | AC | 2147 ms | 86104 KiB |
| subtask3_17.txt | AC | 2131 ms | 86084 KiB |
| subtask3_18.txt | AC | 2068 ms | 86100 KiB |
| subtask3_19.txt | AC | 2138 ms | 86312 KiB |
| subtask3_2.txt | AC | 1795 ms | 82744 KiB |
| subtask3_20.txt | AC | 2108 ms | 88992 KiB |
| subtask3_21.txt | AC | 2156 ms | 86176 KiB |
| subtask3_22.txt | AC | 2167 ms | 86028 KiB |
| subtask3_23.txt | AC | 2202 ms | 86176 KiB |
| subtask3_24.txt | AC | 2172 ms | 89036 KiB |
| subtask3_25.txt | AC | 1715 ms | 80532 KiB |
| subtask3_26.txt | AC | 1686 ms | 80192 KiB |
| subtask3_27.txt | AC | 1429 ms | 83336 KiB |
| subtask3_28.txt | AC | 1427 ms | 83428 KiB |
| subtask3_29.txt | AC | 1385 ms | 85292 KiB |
| subtask3_3.txt | AC | 1557 ms | 95316 KiB |
| subtask3_30.txt | AC | 2163 ms | 94920 KiB |
| subtask3_31.txt | AC | 2172 ms | 97640 KiB |
| subtask3_32.txt | AC | 2144 ms | 100948 KiB |
| subtask3_4.txt | AC | 1904 ms | 88228 KiB |
| subtask3_5.txt | AC | 2419 ms | 99504 KiB |
| subtask3_6.txt | AC | 2381 ms | 99312 KiB |
| subtask3_7.txt | AC | 2387 ms | 100744 KiB |
| subtask3_8.txt | AC | 2359 ms | 100712 KiB |
| subtask3_9.txt | AC | 2404 ms | 100816 KiB |