atcoder#ABC260B. [ABC260B] Better Students Are Needed!
[ABC260B] Better Students Are Needed!
配点 : 点
問題文
入学試験の受験者が 人います。 試験の結果、 番の受験生は数学で 点、英語で 点を取りました。
試験の合格者は次のように決められます。
- 数学の点が高い方から 人を合格とする。
- 次に、この時点でまだ合格となっていない受験者のうち、英語の点が高い方から 人を合格とする。
- 次に、この時点でまだ合格となっていない受験者のうち、数学と英語の合計点が高い方から 人を合格とする。
- ここまでで合格となっていない受験者は、不合格とする。
ただし、 1. から 3. までのどの段階についても、同点であった場合は受験生の番号の小さい方を優先します。入出力例も参照してください。
以上の手順で合格者を決める時、合格となった受験生の番号を小さい方から順に改行区切りで出力してください。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
合格となった受験生の番号を小さい方から順に改行区切りで出力せよ。
6 1 0 2
80 60 80 60 70 70
40 20 50 90 90 80
1
4
5
- まず、数学の点が高い方から 人が合格となります。- 数学の最高点は 点で 番の受験生と 番の受験生が並んでいますが、受験生の番号が小さい方が優先され 番の受験生が合格となります。
- 次に、まだ合格となっていない受験者のうち、英語の点が高い方から 人が合格となります。- 明らかに、ここで合格者が増えることはありません。
- 次に、まだ合格となっていない受験者のうち、数学と英語の合計点が高い方から 人が合格となります。- まず、まだ合格となっていない受験者の中で、合計点が 点と最も高い 番の受験生が合格となります。
- 次に、まだ合格となっていない受験者の中で、合計点が 点の 番の受験生と 番の受験生が並んでいます。受験生の番号の小さい方が優先され、 番の受験生が合格となります。
以上より、合格となる受験生の番号は なので、小さい方から出力してください。
5 2 1 2
0 100 0 100 0
0 0 100 100 0
1
2
3
4
5
全員が合格となることもあります。
15 4 3 2
30 65 20 95 100 45 70 85 20 35 95 50 40 15 85
0 25 45 35 65 70 80 90 40 55 20 20 45 75 100
2
4
5
6
7
8
11
14
15