#! 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 # 数列の最大値と最小値が違うなら 亀MAX値と最小値の差の半分が鶴の数(この値があれば亀の数は自明) 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 = (kameMax - aMin) / 2 kame = N - turu puts "%d %d" % [turu, N - kame] end