ABC132 C - Divide the Problems

備忘録

問題

atcoder.jp

回答

import sys
import os


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    N = int(sys.stdin.buffer.readline().rstrip())
    D = list(map(int, sys.stdin.buffer.readline().split()))
    D.sort()
    print(D[N//2]-D[N//2-1])


if __name__ == '__main__':
    main()

考え方

難易度をソートし、D[N//2]からD[N//2-1]を引くことで、
N個の問題を2種類に分類することが出来る整数の数を得ることが出来る。


D : 9 1 4 4 6 7
D(sort) :1, 4, 4, 6, 7, 9
D[N//2] = 6
D[N//2-1] = 4
6-4=2(K=5,6)