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 |
|
|
| 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 |