Submission #40683415


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].max
		}
	end

	def max
		@a[0]
	end
	def [] l,r=l
		return if r<l
		l,r = @l+l,@l+r
		lx,rx = @a[l],@a[r]
		lx,rx,l,r = [@a[l],lx].max,[@a[r],rx].max,l/2,r/2-1 until r<l
		return [lx,rx].max
	end

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

(N,),*RCX = $<.map{|ln| ln.split.map(&:to_i) }
R = RCX.group_by{|r,|r}.transform_values{|rcx| rcx.sum{_3} }.tap{|h| h.default = 0 }
C = RCX.group_by{_2}.transform_values{|rcx| rcx.sum{_3} }.tap{|h| h.default = 0 }
X = RCX.group_by(&:shift).tap{|h| h.default = [] }
Cs = C.keys.sort
IC = Cs.each_with_index.to_h

CX = ST.new C.values_at(*Cs)
p [0,*R.keys.sort].each_cons(2).map{|r0,r|
	X[r0].each{|c,x|
		CX[IC[c]] += x
	}
	X[r].each{|c,x|
		CX[IC[c]] -= x
	}
	next R[r]+CX.max
}.max

Submission Info

Submission Time
Task F - Rook Score
User ds14050
Language Ruby (2.7.1)
Score 0
Code Size 1003 Byte
Status WA
Exec Time 2003 ms
Memory 100536 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 500
Status
AC × 3
AC × 33
WA × 9
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_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 03_one_00.txt, 04_rect_00.txt, 04_rect_01.txt, 04_rect_02.txt, 04_rect_03.txt, 04_rect_04.txt, 04_rect_05.txt, 04_rect_06.txt, 04_rect_07.txt, 04_rect_08.txt, 04_rect_09.txt, 04_rect_10.txt, 04_rect_11.txt, 04_rect_12.txt, 04_rect_13.txt, 04_rect_14.txt, 04_rect_15.txt, 05_max_00.txt, 05_max_01.txt, 05_max_02.txt, 06_hand_00.txt, 06_hand_01.txt, 06_hand_02.txt, 06_hand_03.txt, 06_hand_04.txt, 06_hand_05.txt, 06_hand_06.txt, 06_hand_07.txt, 06_hand_08.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 57 ms 14100 KiB
00_sample_01.txt AC 54 ms 14132 KiB
00_sample_02.txt AC 56 ms 13976 KiB
01_srnd_00.txt AC 54 ms 13960 KiB
01_srnd_01.txt AC 54 ms 14128 KiB
01_srnd_02.txt AC 57 ms 14164 KiB
01_srnd_03.txt AC 56 ms 14232 KiB
01_srnd_04.txt AC 52 ms 14072 KiB
02_rnd_00.txt AC 1947 ms 100536 KiB
02_rnd_01.txt AC 1997 ms 100268 KiB
02_rnd_02.txt AC 1985 ms 100368 KiB
02_rnd_03.txt AC 2003 ms 100248 KiB
02_rnd_04.txt AC 1994 ms 100192 KiB
03_one_00.txt AC 53 ms 14292 KiB
04_rect_00.txt AC 788 ms 72584 KiB
04_rect_01.txt WA 1155 ms 78624 KiB
04_rect_02.txt AC 744 ms 57932 KiB
04_rect_03.txt WA 1292 ms 55652 KiB
04_rect_04.txt WA 736 ms 44752 KiB
04_rect_05.txt AC 1339 ms 48348 KiB
04_rect_06.txt AC 973 ms 43016 KiB
04_rect_07.txt AC 992 ms 43096 KiB
04_rect_08.txt AC 753 ms 71868 KiB
04_rect_09.txt WA 1095 ms 78000 KiB
04_rect_10.txt AC 726 ms 57404 KiB
04_rect_11.txt WA 1254 ms 54720 KiB
04_rect_12.txt WA 722 ms 43756 KiB
04_rect_13.txt AC 1287 ms 48632 KiB
04_rect_14.txt AC 958 ms 42328 KiB
04_rect_15.txt AC 949 ms 42228 KiB
05_max_00.txt WA 1103 ms 78720 KiB
05_max_01.txt AC 751 ms 72616 KiB
05_max_02.txt AC 1596 ms 73092 KiB
06_hand_00.txt WA 1630 ms 72904 KiB
06_hand_01.txt AC 1617 ms 71080 KiB
06_hand_02.txt WA 1637 ms 73184 KiB
06_hand_03.txt AC 1617 ms 71156 KiB
06_hand_04.txt AC 1887 ms 99504 KiB
06_hand_05.txt AC 1930 ms 100520 KiB
06_hand_06.txt AC 1634 ms 70904 KiB
06_hand_07.txt AC 1615 ms 71140 KiB
06_hand_08.txt AC 936 ms 43056 KiB