結果

問題 No.482 あなたの名は
ユーザー suppy193
提出日時 2017-02-13 13:55:12
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 811 bytes
コンパイル時間 223 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 38,784 KB
最終ジャッジ日時 2024-12-29 18:44:18
合計ジャッジ時間 48,204 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 13 TLE * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n, k = gets.strip.split(' ').map(&:to_i)
d = gets.strip.split(' ').map(&:to_i)
=begin
count = 0
count2 = 0
(0...n).each do |i|
	next if d[i] - 1 == i
	# print "#{i}:d[i]=#{d[i]} d[d[i] - 1]=#{d[d[i] - 1]}"
	if d[d[i] - 1] == i + 1
		count += 1 
	else
		count2 += 1
	end
end

 p count
 p count2
if count2 == 0
	if k - count / 2 >= 0 && (k - count / 2) % 2 == 0
		puts "YES"
	else
		puts "NO"
	end
elsif k - count / 2 - count2 + 1 >= 0 && (k - count / 2 - count2 + 1) % 2 == 0
	puts "YES"
else
	puts "NO"
end
=end

count = 0
(0...n - 1).each do |i|
	next if d[i] - 1 == i
	jmin = 0
	min = Float::INFINITY
	(i + 1...n).each do |j|
		if min > d[j]
			min = d[j]
			jmin = j
		end
	end
	d[i], d[jmin] = d[jmin], d[i]
	count += 1
end
# p count
if k - count >= 0 && (k - count) % 2 == 0
	puts "YES"
else
	puts "NO"
end
0