AtCoder Beginner Contest 094 C - Many Medians【Python】
https://atcoder.jp/contests/abc094/tasks/arc095_a
AtCoder ProblemsのRecommendationで Difficulty: 566、Solve Probability:40%でした。
N個の数をソートしたものを考えると、中央の2つの値のうち小さい方をmed1、大きい方をmed2とするとXiがmed1以下であればmed2を出力、Xiがmed2以上であればmed1を出力すると答えになりました。
N = int(input()) X = list(map(int, input().split())) sorted_X = sorted(X) # Xiを除く前の中央の値のうち小さい方 med1 = sorted_X[len(X)//2 - 1] # Xiを除く前の中央の値のうち大きい方 med2 = sorted_X[len(X)//2] for x in X: if x <= med1: print(med2) else: print(med1)