結果

問題 No.112 ややこしい鶴亀算
ユーザー Leonardone
提出日時 2015-10-16 00:53:25
言語 Ruby
(3.4.1)
結果
AC  
実行時間 83 ms / 5,000 ms
コード長 1,158 bytes
コンパイル時間 159 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-07-21 16:43:03
合計ジャッジ時間 2,772 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

#! ruby
# yukicoder My Practice
# author: Leonardone @ NEETSDKASU

# 頭中を整理するためメモ

# 亀2匹
# 4 4
# 亀1匹鶴1羽
# 2 4
# 鶴2羽
# 2 2
# 亀3匹
# 8 8 8
# 亀2匹鶴1羽
# 6 6 8
# 亀1匹鶴2羽
# 4 6 6
# 鶴3羽
# 4 4 4
# 亀4匹
# 12 12 12 12
# 亀3匹鶴1羽
# 12 10 10 10
# 亀2匹鶴2羽
# 8 8 10 10
# 亀1匹鶴3羽
# 6 8 8 8
# 鶴4羽
# 6 6 6 6

# 同一Nで亀MAXから鶴1羽増えるにごとに最小値が2ずつ減っていく
# 亀MAXとみたとき足の本数は (N - 1) * 4
# 数列の最大値と最小値が同じでこの値なら亀MAX
# 数列の最大値と最小値が同じでこの値じゃないなら鶴MAX
# 数列の最大値と最小値が違うなら
#   数列に並ぶ数値は2種類しかないので
#   最大値を答えたのは全て鶴、最小値を答えたのは全て亀

N = gets.to_i
a = gets.chomp.split.map(&:to_i)

kameMax = (N - 1) * 4

aMin, aMax = a.minmax

if aMin == aMax
	if aMin == kameMax
		puts "0 %d" % [N] # 亀のみ
	else
		puts "%d 0" % [N] # 鶴のみ
	end
else
	turu = a.count aMax
	kame = N - turu
	puts "%d %d" % [turu, kame]	# 単純に変なミスしてただ
end
0