1600: Entrance Examination

 

入学試験

問題ページ

解き方

m人の得点をリストにいれる。あらかじめ得点は高い順に入力されることが保証されているのでソートの必要はない。

forループでnminからnmax人までのギャップを調べ、そのギャップが最大値の場合そのときの人数nを答えとする。

コード(python)

while True:
    m, n_min, n_max = map(int, input().split())
    if m == 0:
        break
    p = [int(input()) for _ in range(m)]
    ans = tmp = 0
    for i in range(n_min, n_max+1):
        hoge = p[i-1] - p[i]
        if tmp <= hoge:
            tmp = hoge
            ans = i
    print(ans)