12/15 第13回日本情報オリンピック 予選(過去問)-B(15日目)

14日目の記事に戻る

こんにちは、ゆーてぃーです。今回は「ゆーてぃーのAtCoder精進【15日目】」ということで、2013年12月15日に行われた第13回日本情報オリンピック 予選(過去問)のB問題を解きたいと思います。

ゆーてぃーのAtCoder精進 Advent Calendar 2025

問題

B - 投票 (Vote)

問題ページ

問題文

20XX 年に東京で世界的なスポーツ大会が開かれることになった.プログラミングコンテストはスポーツとして世界で楽しまれており,競技として採用される可能性がある.採用される競技を決める審査委員会について調べたところ,次のようなことが分かった.

  • 審査委員会のために,候補となる N個の競技を面白い方から順番に並べたリストが作成された.リストの上から i番目には i番目に面白い競技が書かれている.それを競技 iとする.さらに競技 iの開催に必要な費用 A_iが書かれている.

  • また,審査委員会は委員 1から委員 Mまでの M人の委員で構成されている.委員 jは自分の審査基準 B_j をもっており,開催に必要な費用が B_j​以下の競技のうち最も面白いものに 1票を投票した.

  • どの委員の審査基準に対しても,少なくとも 1つの競技は開催に必要な費用が審査基準以下であった.したがって,委員は全員 1票を投票した.

  • 最も多く票を獲得した競技は 1つだけであった.

競技のリストと委員の情報が与えられたとき,最も多く票を獲得した競技の番号を求めるプログラムを作成せよ.

制約

  •  1\leqq N \leqq 1000
  •  1\leqq M \leqq 1000
  •  1 \leqq i \leqq N
  •  1 \leqq A_i \leqq 1000
  •  1 \leqq j \leqq M
  •  1 \leqq B_j \leqq 1000

入力

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

 N\ M

 A_1

 A_2

...

 A_N

 B_1

 B_2

...

 B_N

出力

最も多く票を獲得した競技の番号を 1行で出力せよ.

ゆーてぃーの解法

各審査委員が示す審査基準に対して、面白い競技から順に基準以下かどうかを調べて基準以下なら投票数を1増やします。すべての審査委員の処理が終わったらすべての競技の中から最も投票数の多い競技を調べて数字を出力すればいいです。

感想など

カウントの管理、最大値を求める等基本的なことができているかチェックできる問題でした。

提出コード

16日目の記事へ進む