Submission #27797091


Source Code Expand

(H,W,S),*A = $<.map{|ln| ln.split.map(&:to_i) }

I0,I1,J0,J1 = 4.times.map{ [nil]*257 }
A.each_with_index{|r,i|
	r.each_with_index{|a,j|
		I0[a] ||= i
		I1[a] = i
		J0[a] = j unless J0[a]&.<j
		J1[a] = j unless J1[a]&.>j
	}
}
Z = I0.compact.size
As = 257.times.select{|a|
	I0[a] && (I1[a]-I0[a]+1)*(J1[a]-J0[a]+1)<=S
}.sort_by{|a| I0[a] }
Ai0,Aj1 = [I0,J1].map{|is| As.group_by{|a| is[a] } }
I0s,J1s = [Ai0,Aj1].map{|ai| ai.keys.sort }
I1s = I1.values_at(*As).uniq.sort

max = 0
while i0 = I0s.shift
	I1s.shift while I1s[0]<i0
	i1s = I1s.chunk{|i1| [S&1|S/(i1-i0+1),W].min }.map{|_,as| as[-1] }
	while i1 = i1s.shift
 		w,ain,j1s = S/(i1-i0+1),[],J1s.dup
		while j1 = j1s.shift
			next if 1>Aj1[j1].count{|a|
				ain << w+J0[a] if I1[a]<=i1
			} or ain.size<=max
			ain.reject!{|wj0| wj0<=j1 }
			max = ain.size if max<ain.size
		end
	end
	Ai0[i0].each{|a|
		Aj1[J1[a]].shift
		J1s.delete_at J1s.bsearch_index{|j1| J1[a]<=j1 } if Aj1[J1[a]].empty?
	}
end

p Z-max

Submission Info

Submission Time
Task F - デジタルアート (Digital Art)
User ds14050
Language Ruby (2.7.1)
Score 100
Code Size 1004 Byte
Status AC
Exec Time 935 ms
Memory 35820 KiB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3 Subtask4 Subtask5 Subtask6 Subtask7 Subtask8 Subtask9
Score / Max Score 0 / 0 8 / 8 10 / 10 5 / 5 6 / 6 5 / 5 13 / 13 13 / 13 15 / 15 25 / 25
Status
AC × 5
AC × 13
AC × 32
AC × 15
AC × 19
AC × 30
AC × 37
AC × 47
AC × 60
AC × 96
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt
Subtask1 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, sample-01.txt, 03-02.txt, 04-01.txt, 04-06.txt, 04-07.txt, 05-01.txt
Subtask2 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt, 03-01.txt, 03-02.txt, 03-03.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 05-01.txt, 05-02.txt
Subtask3 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, sample-03.txt, 01-01.txt, 02-01.txt, 04-01.txt
Subtask4 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 01-01.txt
Subtask5 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, sample-05.txt, 01-01.txt, 03-01.txt, 03-02.txt, 03-03.txt
Subtask6 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 06-01.txt, 06-02.txt, 06-03.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt, 01-01.txt, 03-01.txt, 03-02.txt, 03-03.txt
Subtask7 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 06-01.txt, 06-02.txt, 06-03.txt, 07-01.txt, 07-02.txt, 07-03.txt, 07-04.txt, 07-05.txt, 07-06.txt, 07-07.txt, 07-08.txt, 07-09.txt, 07-10.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt, 01-01.txt, 03-01.txt, 03-02.txt, 03-03.txt
Subtask8 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 06-01.txt, 06-02.txt, 06-03.txt, 07-01.txt, 07-02.txt, 07-03.txt, 07-04.txt, 07-05.txt, 07-06.txt, 07-07.txt, 07-08.txt, 07-09.txt, 07-10.txt, 08-01.txt, 08-02.txt, 08-03.txt, 08-04.txt, 08-05.txt, 08-06.txt, 08-07.txt, 08-08.txt, 08-09.txt, 08-10.txt, 08-11.txt, 08-12.txt, 08-13.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt, 01-01.txt, 03-01.txt, 03-02.txt, 03-03.txt
Subtask9 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 06-01.txt, 06-02.txt, 06-03.txt, 07-01.txt, 07-02.txt, 07-03.txt, 07-04.txt, 07-05.txt, 07-06.txt, 07-07.txt, 07-08.txt, 07-09.txt, 07-10.txt, 08-01.txt, 08-02.txt, 08-03.txt, 08-04.txt, 08-05.txt, 08-06.txt, 08-07.txt, 08-08.txt, 08-09.txt, 08-10.txt, 08-11.txt, 08-12.txt, 08-13.txt, 09-01.txt, 09-02.txt, 09-03.txt, 09-04.txt, 09-05.txt, 09-06.txt, 09-07.txt, 09-08.txt, 09-09.txt, 09-10.txt, 09-11.txt, 09-12.txt, 09-13.txt, 09-14.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, sample-05.txt
Case Name Status Exec Time Memory
01-01.txt AC 57 ms 13916 KiB
01-02.txt AC 59 ms 14008 KiB
01-03.txt AC 60 ms 14052 KiB
01-04.txt AC 58 ms 14208 KiB
01-05.txt AC 59 ms 14008 KiB
01-06.txt AC 57 ms 14160 KiB
01-07.txt AC 55 ms 14288 KiB
02-01.txt AC 61 ms 14252 KiB
02-02.txt AC 61 ms 14216 KiB
02-03.txt AC 57 ms 13988 KiB
02-04.txt AC 64 ms 14184 KiB
02-05.txt AC 60 ms 14124 KiB
02-06.txt AC 58 ms 14252 KiB
02-07.txt AC 59 ms 14148 KiB
02-08.txt AC 57 ms 14136 KiB
03-01.txt AC 60 ms 13968 KiB
03-02.txt AC 56 ms 14152 KiB
03-03.txt AC 60 ms 14160 KiB
03-04.txt AC 250 ms 20448 KiB
03-05.txt AC 230 ms 19712 KiB
03-06.txt AC 222 ms 19284 KiB
03-07.txt AC 148 ms 17096 KiB
03-08.txt AC 319 ms 23060 KiB
03-09.txt AC 318 ms 23956 KiB
03-10.txt AC 312 ms 23668 KiB
03-11.txt AC 322 ms 24936 KiB
04-01.txt AC 61 ms 14008 KiB
04-02.txt AC 50 ms 14264 KiB
04-03.txt AC 59 ms 14136 KiB
04-04.txt AC 57 ms 14160 KiB
04-05.txt AC 56 ms 14128 KiB
04-06.txt AC 60 ms 14256 KiB
04-07.txt AC 59 ms 14164 KiB
04-08.txt AC 288 ms 22176 KiB
04-09.txt AC 265 ms 22268 KiB
04-10.txt AC 306 ms 23792 KiB
04-11.txt AC 273 ms 22480 KiB
04-12.txt AC 284 ms 22060 KiB
04-13.txt AC 313 ms 23888 KiB
04-14.txt AC 308 ms 23660 KiB
04-15.txt AC 304 ms 23288 KiB
04-16.txt AC 309 ms 23052 KiB
04-17.txt AC 306 ms 23420 KiB
04-18.txt AC 303 ms 23804 KiB
05-01.txt AC 61 ms 14212 KiB
05-02.txt AC 59 ms 14124 KiB
05-03.txt AC 280 ms 21804 KiB
05-04.txt AC 245 ms 20960 KiB
05-05.txt AC 301 ms 23696 KiB
05-06.txt AC 305 ms 23676 KiB
05-07.txt AC 312 ms 23676 KiB
06-01.txt AC 216 ms 20260 KiB
06-02.txt AC 286 ms 22084 KiB
06-03.txt AC 310 ms 23492 KiB
07-01.txt AC 279 ms 22724 KiB
07-02.txt AC 291 ms 22312 KiB
07-03.txt AC 312 ms 23580 KiB
07-04.txt AC 308 ms 23676 KiB
07-05.txt AC 310 ms 23020 KiB
07-06.txt AC 309 ms 23768 KiB
07-07.txt AC 318 ms 22988 KiB
07-08.txt AC 314 ms 22684 KiB
07-09.txt AC 308 ms 23484 KiB
07-10.txt AC 303 ms 23704 KiB
08-01.txt AC 304 ms 22672 KiB
08-02.txt AC 310 ms 22604 KiB
08-03.txt AC 314 ms 23580 KiB
08-04.txt AC 313 ms 23944 KiB
08-05.txt AC 308 ms 22584 KiB
08-06.txt AC 310 ms 23664 KiB
08-07.txt AC 316 ms 23064 KiB
08-08.txt AC 308 ms 23552 KiB
08-09.txt AC 310 ms 22664 KiB
08-10.txt AC 305 ms 22784 KiB
08-11.txt AC 297 ms 22236 KiB
08-12.txt AC 328 ms 23720 KiB
08-13.txt AC 330 ms 23440 KiB
09-01.txt AC 321 ms 23672 KiB
09-02.txt AC 309 ms 22688 KiB
09-03.txt AC 499 ms 24312 KiB
09-04.txt AC 614 ms 25096 KiB
09-05.txt AC 678 ms 28932 KiB
09-06.txt AC 435 ms 32884 KiB
09-07.txt AC 398 ms 32836 KiB
09-08.txt AC 315 ms 23768 KiB
09-09.txt AC 318 ms 23820 KiB
09-10.txt AC 315 ms 23788 KiB
09-11.txt AC 328 ms 25316 KiB
09-12.txt AC 331 ms 25640 KiB
09-13.txt AC 774 ms 35820 KiB
09-14.txt AC 935 ms 28668 KiB
sample-01.txt AC 61 ms 14044 KiB
sample-02.txt AC 55 ms 14100 KiB
sample-03.txt AC 62 ms 13912 KiB
sample-04.txt AC 64 ms 14100 KiB
sample-05.txt AC 60 ms 13968 KiB