Submission #14130610


Source Code Expand

N = gets.to_i
棚 = N.times.map{
	gets.split.map(&:to_i)
}
棚.each(&:shift)

手前にあるもの = [[],[]]
どこの棚? = {}
(0...N).each{|棚番号|
	[0,1].each{|i|
		next unless 期限 = 棚[棚番号][i]
		手前にあるもの[i] << 期限
		どこの棚?[期限] = 棚番号
	}
}
手前にあるもの.map!{|a| a.sort_by{|_|-_} }

gets
gets.split.map(&:to_i).each{|a|
	b = a == 1 ? 0 : [0,1].max_by{|_| 手前にあるもの[_][0]||0 }
	puts 期限 = 手前にあるもの[b][0]

	手前にあるもの[b].delete_at 手前にあるもの[b].bsearch_index{|_|_<=期限}
	棚番号 = どこの棚?.delete 期限
	棚[棚番号][1] = 棚[棚番号][0] if 0<b
	棚[棚番号].shift
	if b == 0
		if 期限 = 棚[棚番号][0]
			手前にあるもの[0].insert (手前にあるもの[0].bsearch_index{|_|_<期限}||手前にあるもの[0].size),期限
			手前にあるもの[1].delete_at 手前にあるもの[1].bsearch_index{|_|_<=期限}
		end
	end
	if 期限 = 棚[棚番号][1]
		手前にあるもの[1].insert (手前にあるもの[1].bsearch_index{|_|_<期限}||手前にあるもの[1].size),期限
		どこの棚?[期限] = 棚番号
	end
}

Submission Info

Submission Time
Task L - Supamarket
User ds14050
Language Ruby (2.7.1)
Score 0
Code Size 1204 Byte
Status TLE
Exec Time 4234 ms
Memory 61748 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 6
Status
AC × 2
AC × 16
TLE × 2
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All max_01.txt, max_02.txt, max_03.txt, max_04.txt, max_05.txt, max_06.txt, max_07.txt, max_08.txt, max_09.txt, max_10.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
max_01.txt TLE 4225 ms 61332 KiB
max_02.txt TLE 4234 ms 61748 KiB
max_03.txt AC 1850 ms 43108 KiB
max_04.txt AC 893 ms 43556 KiB
max_05.txt AC 870 ms 43428 KiB
max_06.txt AC 944 ms 39908 KiB
max_07.txt AC 951 ms 43160 KiB
max_08.txt AC 1297 ms 42660 KiB
max_09.txt AC 1501 ms 42152 KiB
max_10.txt AC 2054 ms 46876 KiB
random_01.txt AC 466 ms 22772 KiB
random_02.txt AC 352 ms 21748 KiB
random_03.txt AC 706 ms 29600 KiB
random_04.txt AC 213 ms 19464 KiB
random_05.txt AC 210 ms 24064 KiB
random_06.txt AC 196 ms 19180 KiB
sample_01.txt AC 51 ms 14492 KiB
sample_02.txt AC 55 ms 14336 KiB