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
AC × 3
AC × 20
AC × 18
AC × 70
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