どん底から這い上がるまでの記録

どん底から這い上がりたいけど這い上がれない人がいろいろ書くブログ(主にプログラミング)

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)