EX12 - 最速のランナーを見つけよう Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

説明ページに戻る

問題文

学校の授業で持久走がありました。N 人の生徒がゴールまでにかかった時間(秒数)がそれぞれ T_1, T_2, \dots , T_N で与えられます。一番早くゴールしたのは何番目の生徒でしょうか。

ページ末尾に問題のヒントがあります。詰まったら見てみましょう。


サンプルプログラム
N = int(input())  # 生徒の数Nを読み込む
T = list(map(int, input().split()))  # 各生徒のゴールまでの時間を読み込む
# ここにプログラムを追記

制約

  • 1 \leq N \leq 100
  • 100 \leq T_i \leq 1000 (全ての i について)
  • 全ての生徒のゴールまでにかかった時間は異なる

入力

入力は次の形式で標準入力から与えられます。

N
T_1 T_2 ... T_N

出力

一番早くゴールした生徒の番号を出力してください。


ジャッジでは以下の入力例以外のケースに関してもテストされることに注意。

入力例1

5 
300 450 200 400 350

出力例1

3

3 番目の生徒の 200 秒が最速のタイムになります。


入力例2

1 
400

出力例2

1

1 人で走るときは常に最速ランナーになることができます。


入力例3

10 
883 940 579 641 979 999 331 842 667 518

出力例3

7

ヒント

クリックでヒントを見る

二段階のステップで考えてみましょう。問題を解くために必要な情報は 2 つあります。
1.最小値が何か
2.最小値が何番目に現れるか
一度に求めようとせずに、1. と 2. を順番に調べるコードを書いてみましょう。


テスト入出力

書いたプログラムがACにならず、原因がどうしてもわからないときだけ見てください。

クリックでテスト入出力を見る

テスト入力1
100 
794 341 925 159 319 451 671 720 836 667 664 917 114 112 276 479 623 796 152 910 566 996 656 567 756 105 139 172 694 771 148 906 164 983 852 419 863 357 895 732 608 398 227 165 785 532 613 136 304 198 303 475 434 502 189 477 588 439 969 686 520 168 967 344 972 828 694 786 256 338 493 721 390 874 632 888 702 911 550 971 802 427 646 443 487 594 826 949 245 834 596 674 810 526 395 541 227 665 948 723
テスト出力1
26

テスト入力2
100 
171 981 971 462 134 134 174 115 445 664 109 418 836 310 163 198 474 825 200 903 788 933 127 193 781 859 719 215 558 454 306 664 359 692 424 417 337 634 772 343 265 126 159 847 981 577 691 601 713 464 654 572 559 339 177 497 420 112 475 357 297 152 547 382 770 871 787 502 477 138 276 443 349 374 279 873 837 762 769 573 479 216 186 307 798 140 820 976 473 825 606 580 342 370 456 171 266 730 748 810
テスト出力2
11

テスト入力3
100 
390 507 538 277 832 570 897 460 638 456 708 466 228 442 672 107 557 599 320 578 979 239 792 541 776 377 878 124 847 262 563 246 369 115 258 380 472 899 139 913 323 637 353 200 804 320 727 687 457 499 206 752 815 522 416 746 964 804 834 548 821 689 981 101 428 862 969 935 173 941 104 891 954 267 466 424 398 231 227 320 488 931 904 494 955 663 499 558 728 396 741 446 219 826 782 893 398 113 904 683
テスト出力3
64

解答例

必ず自分で問題に挑戦してみてから見てください。

クリックで解答例を見る

N = int(input())  # 生徒の数Nを読み込む
T = list(map(int, input().split()))  # 各生徒のゴールまでの時間を読み込む
T_min = min(T)
for i, v in enumerate(T):
    if v == T_min:
        print(i + 1)
        break