Submission #43807822


Source Code Expand

class ST
	def initialize a,e
		@l = (1<<(a.size-1).bit_length)-1
		@a = [e]*@l+a
		((@l+a.size-2)/2).downto(0){|i|
			@a[i] = @a[i+i+1,2].min
		}
	end

	def min
		@a[0]
	end
	def [] l,r
		lm,rm = @a[l+=@l],@a[r+=@l]
		l,r,lm,rm = l/2,r/2-1,[@a[l],lm].min,[@a[r],rm].min until r<l
		return [lm,rm].min
	end

	def []= i,v
		i += @l
		@a[i] = v
		@a[i] = @a[i+i+1,2].min while 0<=i = (i-1)/2
		return v
	end
end

N,M,*A = $<.read.split.map(&:to_i)

I = Array.new(M+1){[]}
I[0]<<N-1
A.each_with_index{|a,i|
	I[a]<<i
}
LastI = ST.new I.map(&:last),N-1
MinA = ST.new A,M

f = 0
puts M.times.map{
	l = LastI.min
	m = MinA[f,l]
	LastI[m] = N-1
	I[m].shift while I[m][0]<f
	f, = I[m].each{|i| MinA[i] = M }
	next m
}*' '

Submission Info

Submission Time
Task G - Minimum Permutation
User ds14050
Language Ruby (2.7.1)
Score 600
Code Size 757 Byte
Status AC
Exec Time 1384 ms
Memory 61604 KiB

Judge Result

Set Name Sample All AfterContest
Score / Max Score 0 / 0 600 / 600 0 / 0
Status
AC × 3
AC × 47
AC × 1
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_max_03.txt, 01_max_04.txt, 01_max_05.txt, 01_max_06.txt, 01_max_07.txt, 01_max_08.txt, 01_max_09.txt, 01_max_10.txt, 01_max_11.txt, 01_max_12.txt, 01_max_13.txt, 01_max_14.txt, 01_max_15.txt, 01_max_16.txt, 01_max_17.txt, 01_max_18.txt, 01_max_19.txt, 01_max_20.txt, 01_max_21.txt, 01_max_22.txt, 02_random_23.txt, 02_random_24.txt, 02_random_25.txt, 02_random_26.txt, 02_random_27.txt, 02_random_28.txt, 02_random_29.txt, 02_random_30.txt, 02_random_31.txt, 02_random_32.txt, 02_random_33.txt, 02_random_34.txt, 02_random_35.txt, 02_random_36.txt, 02_random_37.txt, 02_random_38.txt, 03_handmade_39.txt, 03_handmade_40.txt, 03_handmade_41.txt, 03_handmade_42.txt, 03_handmade_43.txt, 03_handmade_44.txt, 03_handmade_45.txt, 03_handmade_46.txt
AfterContest 04_after_contest_47.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 58 ms 14192 KiB
00_sample_01.txt AC 56 ms 13968 KiB
00_sample_02.txt AC 60 ms 14132 KiB
01_max_03.txt AC 384 ms 39236 KiB
01_max_04.txt AC 384 ms 39080 KiB
01_max_05.txt AC 494 ms 38920 KiB
01_max_06.txt AC 451 ms 39040 KiB
01_max_07.txt AC 432 ms 39036 KiB
01_max_08.txt AC 405 ms 41032 KiB
01_max_09.txt AC 398 ms 41088 KiB
01_max_10.txt AC 391 ms 41160 KiB
01_max_11.txt AC 396 ms 41076 KiB
01_max_12.txt AC 401 ms 40852 KiB
01_max_13.txt AC 910 ms 53412 KiB
01_max_14.txt AC 895 ms 53492 KiB
01_max_15.txt AC 878 ms 49240 KiB
01_max_16.txt AC 884 ms 53516 KiB
01_max_17.txt AC 869 ms 53504 KiB
01_max_18.txt AC 1384 ms 61604 KiB
01_max_19.txt AC 1370 ms 60572 KiB
01_max_20.txt AC 1372 ms 61496 KiB
01_max_21.txt AC 1374 ms 60636 KiB
01_max_22.txt AC 1374 ms 61388 KiB
02_random_23.txt AC 618 ms 38984 KiB
02_random_24.txt AC 613 ms 39200 KiB
02_random_25.txt AC 623 ms 39100 KiB
02_random_26.txt AC 388 ms 41260 KiB
02_random_27.txt AC 372 ms 41064 KiB
02_random_28.txt AC 362 ms 41016 KiB
02_random_29.txt AC 273 ms 27396 KiB
02_random_30.txt AC 711 ms 47104 KiB
02_random_31.txt AC 397 ms 39532 KiB
02_random_32.txt AC 494 ms 45788 KiB
02_random_33.txt AC 662 ms 51284 KiB
02_random_34.txt AC 66 ms 14288 KiB
02_random_35.txt AC 347 ms 37128 KiB
02_random_36.txt AC 62 ms 14212 KiB
02_random_37.txt AC 525 ms 39516 KiB
02_random_38.txt AC 234 ms 26960 KiB
03_handmade_39.txt AC 56 ms 14092 KiB
03_handmade_40.txt AC 650 ms 41052 KiB
03_handmade_41.txt AC 828 ms 51188 KiB
03_handmade_42.txt AC 952 ms 52492 KiB
03_handmade_43.txt AC 1281 ms 60736 KiB
03_handmade_44.txt AC 55 ms 14288 KiB
03_handmade_45.txt AC 57 ms 14192 KiB
03_handmade_46.txt AC 613 ms 38744 KiB
04_after_contest_47.txt AC 1059 ms 50184 KiB