Submission #7666573


Source Code Expand

Copy
N, K = gets.split.map(&:to_i)
P = gets.split.map(&:to_i)
IP = [nil]*N
N.times{|i|
IP[P[i]] = i
}
UP = [1]*N
(N-2).downto(0){|i|
UP[i] += UP[i+1] if P[i] < P[i+1]
}
def NextIndex(_N, _IP)
li = (-1..(_N-2)).to_a + [-1,-1]
ri = (1.._N).to_a + [_N,_N]
_IP.each{|i|
l, r = li[i], ri[i]
li[r], ri[l] = l, r
}
li.pop(2)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N, K = gets.split.map(&:to_i)
P = gets.split.map(&:to_i)

IP = [nil]*N
N.times{|i|
	IP[P[i]] = i
}

UP = [1]*N
(N-2).downto(0){|i|
	UP[i] += UP[i+1] if P[i] < P[i+1]
}

def NextIndex(_N, _IP)
	li = (-1..(_N-2)).to_a + [-1,-1]
	ri = (1.._N).to_a + [_N,_N]
	_IP.each{|i|
		l, r = li[i], ri[i]
		li[r], ri[l] = l, r
	}
	li.pop(2)
	ri.pop(2)
	return li, ri
end

LU,_ = NextIndex(N, IP)
_,RL = NextIndex(N, IP.reverse)

pm, n = K <= UP[0] ? [1,0] : [0,1]
(N-K).times{|i|
	if K <= UP[i+1]
		pm += 1
	elsif RL[i] < i+K or i < LU[i+K]
		n += 1
	end
}

p n+[pm,1].min

Submission Info

Submission Time
Task B - Sorting a Segment
User ds14050
Language Ruby (2.3.3)
Score 700
Code Size 597 Byte
Status AC
Exec Time 295 ms
Memory 36544 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 3
AC × 32
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 7 ms 1788 KB
01-02.txt AC 7 ms 1788 KB
01-03.txt AC 233 ms 27148 KB
01-04.txt AC 235 ms 32908 KB
01-05.txt AC 147 ms 20104 KB
01-06.txt AC 188 ms 28040 KB
01-07.txt AC 277 ms 36492 KB
01-08.txt AC 292 ms 36544 KB
01-09.txt AC 277 ms 36492 KB
01-10.txt AC 285 ms 36484 KB
01-11.txt AC 292 ms 36544 KB
01-12.txt AC 288 ms 36484 KB
01-13.txt AC 286 ms 36492 KB
01-14.txt AC 291 ms 36484 KB
01-15.txt AC 295 ms 36484 KB
01-16.txt AC 282 ms 36484 KB
01-17.txt AC 275 ms 36492 KB
01-18.txt AC 276 ms 36492 KB
01-19.txt AC 276 ms 36492 KB
01-20.txt AC 272 ms 36492 KB
01-21.txt AC 270 ms 36544 KB
01-22.txt AC 276 ms 36484 KB
01-23.txt AC 271 ms 36492 KB
01-24.txt AC 267 ms 36484 KB
01-25.txt AC 261 ms 36492 KB
01-26.txt AC 263 ms 36544 KB
01-27.txt AC 268 ms 36492 KB
01-28.txt AC 261 ms 36544 KB
01-29.txt AC 259 ms 36484 KB
sample-01.txt AC 7 ms 1788 KB
sample-02.txt AC 7 ms 1788 KB
sample-03.txt AC 7 ms 1788 KB


2025-04-15 (Tue)
15:28:30 +00:00