A - 3 つの整数 (Three Integers)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

3 つの整数 A, B, C が与えられる.A, B, C はそれぞれ 1 または 2 である.12 のうち,どちらが多くあるか.

制約

  • A, B, C はそれぞれ 1 または 2 である.

入力

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

A B C

出力

12 のうち,個数が多い方を出力せよ.


入力例 1

1 2 1

出力例 1

1

12 個で 21 個なので,個数の多い 1 を出力する.


入力例 2

2 2 2

出力例 2

2

すべて 2 なので,2 を出力する.

B - 母音を数える (Counting Vowels)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

長さ N の英小文字からなる文字列 S が与えられる.S のうち母音字の個数,つまり aiueo の個数の総和を求めよ.

制約

  • 1 \leqq N \leqq 50.
  • S は長さ N の文字列である.
  • S の各文字は英小文字である.

入力

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

N
S

出力

S のうち母音字の個数,つまり aiueo の個数の総和を出力せよ.


入力例 1

8
joiyosen

出力例 1

4

母音字は _oi_o_e_4 個である.


入力例 2

6
bitaro

出力例 2

3

母音字は _i_a_o3 個である.

C - マージ (Merge)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

長さ N の正整数列 A=(A_1, A_2, \ldots, A_N) と,長さ M の正整数列 B=(B_1, B_2, \ldots, B_M) が与えられる. これらの数列は,共に広義単調増加数列である.つまり,A_1 \leqq A_2 \leqq \cdots \leqq A_N, B_1 \leqq B_2 \leqq \cdots \leqq B_M を満たす.

以下のアルゴリズムを用いて,これらの数列から,長さ N+M の正整数列 C=(C_1, C_2, \ldots, C_{N+M}) を生成する.

  1. はじめ C は空とする.
  2. AB がどちらも空の場合,終了する.
  3. AB のどちらかが空の場合,そうでない数列を t とおく.どちらも空でない場合,先頭の要素が小さい数列を t とおく.ただし,AB の先頭の要素が同じ値のときは At とおく.
  4. t の先頭の要素を C の末尾に追加する.
  5. t の先頭の要素を削除する.
  6. 2. に戻る.

広義単調増加な正整数列 A, B が与えられたとき,このアルゴリズムにより生成される正整数列 C を出力するプログラムを作成せよ.

制約

  • 1 \leqq N \leqq 500
  • 1 \leqq M \leqq 500
  • 1 \leqq A_1 \leqq A_2 \leqq \cdots \leqq A_N \leqq 2000
  • 1 \leqq B_1 \leqq B_2 \leqq \cdots \leqq B_M \leqq 2000

入力

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

N M
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_M

出力

標準出力に N + M 行出力せよ.

k 行目 (1 \leqq k \leqq N + M) には,C_k を出力せよ.


入力例 1

2 1
1 2
2

出力例 1

1
2
2

アルゴリズムを行う前,A=(1,2), B=(2) である. 以下のように数列 C が生成される.

  • 数列 A の先頭の要素は 1,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
  • 数列 A の先頭の要素は 2,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
  • 数列 A は空なので,数列 B の先頭の要素を数列 C に追加しこれを数列 B から削除する.
  • 数列 A も数列 B も空なので,アルゴリズムを終了する.

アルゴリズムが終了した後,数列 C=(1,2,2) である.


入力例 2

3 8
1 3 8
3 3 4 5 6 7 8 9

出力例 2

1
3
3
3
4
5
6
7
8
8
9