Submission #32487113


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

	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,_,Q),*ABC,X = $<.map{|ln| ln.split.map(&:to_i) }
E = Array.new(N+1){[]}
ABC.each{|a,b,c|
	E[a]<<[b,c]
	E[b]<<[a,c]
}
X<<10**9
I = (0..Q).sort_by{|i| X[i] }
J = I.map{}
I.each_with_index{|i,j| J[i] = j }
Y = I.map{|i| X[i] }

M = ST.new I
V = [nil]*(N+1)
V[1] = v = 1
W = X.map{[]}
F = lambda{|bcs|
	bcs.each{|b,c|
		W[M[Y.bsearch_index{|x| c<=x },Q]]<<b if ! V[b]
	}
}
F[E[1]]
puts Q.times.map{|i|
	M[J[i]] = Q
	next v += W[i].select{|b|
		V[b] = b if ! V[b]
	}.each{|a| F[E[a]] }.size
}

Submission Info

Submission Time
Task G - One Step at a Time
User ds14050
Language Ruby (2.7.1)
Score 6
Code Size 995 Byte
Status AC
Exec Time 1952 ms
Memory 106364 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 6 / 6
Status
AC × 3
AC × 52
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All extreme_00.txt, extreme_01.txt, extreme_02.txt, extreme_03.txt, handmade_00.txt, handmade_01.txt, path_00.txt, path_01.txt, path_02.txt, path_03.txt, path_04.txt, path_05.txt, path_06.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, sample_01.txt, sample_02.txt, sample_03.txt, special_00.txt, special_01.txt, special_02.txt, special_03.txt, star_00.txt, star_01.txt, star_02.txt, star_03.txt, treelike_00.txt, treelike_01.txt, treelike_02.txt, treelike_03.txt, treelike_04.txt, treelike_05.txt, treelike_06.txt, treelike_07.txt, treelike_08.txt, treelike_09.txt, treelike_10.txt, treelike_11.txt, treelike_12.txt, treelike_13.txt, treelike_14.txt, treelike_15.txt
Case Name Status Exec Time Memory
extreme_00.txt AC 870 ms 60172 KiB
extreme_01.txt AC 447 ms 57644 KiB
extreme_02.txt AC 515 ms 59140 KiB
extreme_03.txt AC 515 ms 58940 KiB
handmade_00.txt AC 55 ms 14244 KiB
handmade_01.txt AC 58 ms 14100 KiB
path_00.txt AC 1147 ms 87380 KiB
path_01.txt AC 1007 ms 61584 KiB
path_02.txt AC 1247 ms 90036 KiB
path_03.txt AC 1156 ms 63120 KiB
path_04.txt AC 1878 ms 94660 KiB
path_05.txt AC 1182 ms 62080 KiB
path_06.txt AC 1697 ms 80892 KiB
random_00.txt AC 1873 ms 102024 KiB
random_01.txt AC 1864 ms 102344 KiB
random_02.txt AC 1849 ms 106364 KiB
random_03.txt AC 1839 ms 106276 KiB
random_04.txt AC 1405 ms 98516 KiB
random_05.txt AC 1406 ms 97808 KiB
random_06.txt AC 735 ms 62084 KiB
random_07.txt AC 1007 ms 79296 KiB
random_08.txt AC 417 ms 49000 KiB
random_09.txt AC 883 ms 78304 KiB
random_10.txt AC 902 ms 55920 KiB
random_11.txt AC 563 ms 58876 KiB
sample_01.txt AC 58 ms 14140 KiB
sample_02.txt AC 57 ms 14164 KiB
sample_03.txt AC 59 ms 14168 KiB
special_00.txt AC 1892 ms 97956 KiB
special_01.txt AC 1782 ms 99000 KiB
special_02.txt AC 1717 ms 96892 KiB
special_03.txt AC 1726 ms 99692 KiB
star_00.txt AC 1024 ms 87104 KiB
star_01.txt AC 1747 ms 98960 KiB
star_02.txt AC 1228 ms 77764 KiB
star_03.txt AC 1030 ms 56544 KiB
treelike_00.txt AC 1952 ms 102368 KiB
treelike_01.txt AC 1915 ms 102436 KiB
treelike_02.txt AC 793 ms 62232 KiB
treelike_03.txt AC 198 ms 23872 KiB
treelike_04.txt AC 1563 ms 98952 KiB
treelike_05.txt AC 1386 ms 79200 KiB
treelike_06.txt AC 1023 ms 78688 KiB
treelike_07.txt AC 1089 ms 66372 KiB
treelike_08.txt AC 1347 ms 101868 KiB
treelike_09.txt AC 1208 ms 89448 KiB
treelike_10.txt AC 591 ms 61104 KiB
treelike_11.txt AC 1581 ms 82032 KiB
treelike_12.txt AC 1063 ms 72628 KiB
treelike_13.txt AC 1365 ms 101720 KiB
treelike_14.txt AC 737 ms 59620 KiB
treelike_15.txt AC 1607 ms 87592 KiB