提出 #16543158


ソースコード 拡げる

class ST
	def initialize n,iv
		@l = (1<<(n-1).bit_length)-1
		@h = [iv]*(@l+@l+1)
	end

	def max
		return @h[0]
	end

	def [] l,r
		return if r < l
		l,r = @l+l+1,@l+r+1
		lx,rx = @h[l-1],@h[r-1]
		while l <= r
			lx = @h[l-1] if lx < @h[l-1]
			rx = @h[r-1] if rx < @h[r-1]
			l = (l+1)/2
			r = (r-1)/2
		end
		return lx < rx ? rx : lx
	end

	def []= i,v
		j = @l+i+1
		@h[j-1] = v
		@h[j-1] = v while 0 < (j/=2) && @h[j-1] < v
		return v
	end
end

(R,C,K),*RCV = $<.map{|ln| ln.split.map(&:to_i) }

Rs = Array.new(R){ [] }
RCV.each{|s,d,v|
	Rs[s-1] << [d-1,v]
}

r0 = ST.new C,0
while r = Rs.shift
	r.empty? and next or r.sort!

	c0,vs = 0,[0]*4
	until r.empty?
		c,v = r.shift
		r0c = r0[c0,c]
		vs[0] = r0c if vs[0] < r0c
		vs[3] = vs[2]+v if vs[3] < vs[2]+v
		vs[2] = vs[1]+v if vs[2] < vs[1]+v
		vs[1] = vs[0]+v if vs[1] < vs[0]+v
		r0[c] = vs.max
		c0 = c+1
	end
end

p r0.max

提出情報

提出日時
問題 E - Picking Goods
ユーザ ds14050
言語 Ruby (2.7.1)
得点 500
コード長 942 Byte
結果 AC
実行時間 727 ms
メモリ 37188 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 37
セット名 テストケース
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, s1.txt, s2.txt, s3.txt
ケース名 結果 実行時間 メモリ
01.txt AC 57 ms 14108 KiB
02.txt AC 63 ms 14036 KiB
03.txt AC 63 ms 14036 KiB
04.txt AC 61 ms 14108 KiB
05.txt AC 61 ms 14268 KiB
06.txt AC 63 ms 14448 KiB
07.txt AC 60 ms 14108 KiB
08.txt AC 62 ms 14384 KiB
09.txt AC 73 ms 14436 KiB
10.txt AC 56 ms 14160 KiB
11.txt AC 65 ms 14312 KiB
12.txt AC 689 ms 37188 KiB
13.txt AC 698 ms 36260 KiB
14.txt AC 694 ms 36340 KiB
15.txt AC 696 ms 36188 KiB
16.txt AC 694 ms 36204 KiB
17.txt AC 60 ms 14412 KiB
18.txt AC 76 ms 14516 KiB
19.txt AC 65 ms 14612 KiB
20.txt AC 70 ms 14416 KiB
21.txt AC 727 ms 35776 KiB
22.txt AC 719 ms 35628 KiB
23.txt AC 184 ms 20948 KiB
24.txt AC 255 ms 20668 KiB
25.txt AC 72 ms 14600 KiB
26.txt AC 70 ms 14528 KiB
27.txt AC 440 ms 30764 KiB
28.txt AC 469 ms 28968 KiB
29.txt AC 277 ms 22060 KiB
30.txt AC 582 ms 34996 KiB
31.txt AC 196 ms 19396 KiB
32.txt AC 193 ms 18936 KiB
33.txt AC 267 ms 21840 KiB
34.txt AC 364 ms 25396 KiB
s1.txt AC 58 ms 14320 KiB
s2.txt AC 63 ms 14216 KiB
s3.txt AC 62 ms 14324 KiB