atcoder#ABC260B. [ABC260B] Better Students Are Needed!

[ABC260B] Better Students Are Needed!

配点 : 200200

問題文

入学試験の受験者が NN 人います。 試験の結果、 ii 番の受験生は数学で AiA_i 点、英語で BiB_i 点を取りました。

試験の合格者は次のように決められます。

  1. 数学の点が高い方から XX 人を合格とする。
  2. 次に、この時点でまだ合格となっていない受験者のうち、英語の点が高い方から YY 人を合格とする。
  3. 次に、この時点でまだ合格となっていない受験者のうち、数学と英語の合計点が高い方から ZZ 人を合格とする。
  4. ここまでで合格となっていない受験者は、不合格とする。

ただし、 1. から 3. までのどの段階についても、同点であった場合は受験生の番号の小さい方を優先します。入出力例も参照してください。

以上の手順で合格者を決める時、合格となった受験生の番号を小さい方から順に改行区切りで出力してください。

制約

  • 入力は全て整数
  • 1N10001 \le N \le 1000
  • 0X,Y,ZN0 \le X,Y,Z \le N
  • 1X+Y+ZN1 \le X+Y+Z \le N
  • 0Ai,Bi1000 \le A_i,B_i \le 100

入力

入力は以下の形式で標準入力から与えられる。

NN XX YY ZZ

A1A_1 A2A_2 \dots ANA_N

B1B_1 B2B_2 \dots BNB_N

出力

合格となった受験生の番号を小さい方から順に改行区切りで出力せよ。

6 1 0 2
80 60 80 60 70 70
40 20 50 90 90 80
1
4
5
  • まず、数学の点が高い方から 11 人が合格となります。- 数学の最高点は 8080 点で 11 番の受験生と 33 番の受験生が並んでいますが、受験生の番号が小さい方が優先され 11 番の受験生が合格となります。
  • 次に、まだ合格となっていない受験者のうち、英語の点が高い方から 00 人が合格となります。- 明らかに、ここで合格者が増えることはありません。
  • 次に、まだ合格となっていない受験者のうち、数学と英語の合計点が高い方から 22 人が合格となります。- まず、まだ合格となっていない受験者の中で、合計点が 160160 点と最も高い 55 番の受験生が合格となります。
    • 次に、まだ合格となっていない受験者の中で、合計点が 150150 点の 44 番の受験生と 66 番の受験生が並んでいます。受験生の番号の小さい方が優先され、 44 番の受験生が合格となります。

以上より、合格となる受験生の番号は 1,4,51,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