Submission #68953965


Source Code Expand

Tr,Tc,Ar,Ac = gets.split.map(&:to_i)
N,Tn,An = gets.split.map(&:to_i)
Tm,Am = [[Tn,Tr,Tc],[An,Ar,Ac]].map{|n,r,c,i=0|
	n.times.map{
		d,l = gets.split
		l = l.to_i
		dr,dc = {
			?U=>[-1,0],
			?D=>[1,0],
			?L=>[0,-1],
			?R=>[0,1]
		}[d]
		r0,c0,r,c = r,c,r+dr*l,c+dc*l
		next i,(i+=l),r0,dr,c0,dc
	}
}
Ts = (Tm.map{|i,|i}|Am.map{|i,|i}|[N]).sort
D = lambda{|(t0,_,r0,dr0,c0,dc0),(t1,_,r1,dr1,c1,dc1),t|
	r0 += dr0*(t-t0)
	c0 += dc0*(t-t0)
	r1 += dr1*(t-t1)
	c1 += dc1*(t-t1)
	next (r1-r0).abs+(c1-c0).abs
}
X = lambda{|tm,am,t0,t| # t0 は数えない
	d0 = D[tm,am,t0]
	d1 = D[tm,am,t0+1]
	if d0==0
		d1==0 ? t-t0 : 0
	elsif d1<d0
		dt = d0/(d0-d1)
		t0+dt<=t && D[tm,am,t0+dt]==0 ? 1 : 0
	else
		0
	end
}

x = 0
t0 = Ts.shift # 0
while t = Ts.shift
	# t0+1..t
	Tm.shift if Tm[0][1]==t0
	Am.shift if Am[0][1]==t0
	x += X[Tm[0],Am[0],t0,t]
	t0 = t
end
p x

Submission Info

Submission Time
Task D - RLE Moving
User ds14050
Language Ruby (ruby 3.2.2)
Score 425
Code Size 906 Byte
Status AC
Exec Time 436 ms
Memory 48280 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 425 / 425
Status
AC × 4
AC × 24
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Case Name Status Exec Time Memory
random_01.txt AC 431 ms 47616 KiB
random_02.txt AC 268 ms 35792 KiB
random_03.txt AC 162 ms 27760 KiB
random_04.txt AC 178 ms 29560 KiB
random_05.txt AC 98 ms 22060 KiB
random_06.txt AC 432 ms 46896 KiB
random_07.txt AC 431 ms 47500 KiB
random_08.txt AC 427 ms 46520 KiB
random_09.txt AC 431 ms 48280 KiB
random_10.txt AC 433 ms 48128 KiB
random_11.txt AC 434 ms 47412 KiB
random_12.txt AC 436 ms 47524 KiB
random_13.txt AC 436 ms 47160 KiB
random_14.txt AC 434 ms 47964 KiB
random_15.txt AC 395 ms 42540 KiB
random_16.txt AC 394 ms 42448 KiB
random_17.txt AC 436 ms 47664 KiB
random_18.txt AC 433 ms 47472 KiB
random_19.txt AC 430 ms 47464 KiB
random_20.txt AC 430 ms 47328 KiB
sample_01.txt AC 43 ms 17228 KiB
sample_02.txt AC 43 ms 17196 KiB
sample_03.txt AC 43 ms 17140 KiB
sample_04.txt AC 42 ms 17240 KiB