|
2006年1月15日
情報オリンピック日本委員会
|
A と B の 2 人のプレーヤーが, 0 から 9 までの数字が書かれたカードを使ってゲームを行う. 最初に, 2 人は与えられた n 枚ずつのカードを, 裏向きにして横一列に並べる. その後, 2 人は各自の左から 1 枚ずつカードを表向きにしていき, 書かれた数字が大きい方のカードの持ち主が, その 2 枚のカードを取る. このとき, その 2 枚のカードに書かれた数字の合計が, カードを取ったプレーヤーの得点となるものとする. ただし, 開いた 2 枚のカードに同じ数字が書かれているときには, 引き分けとし, 各プレーヤーが自分のカードを 1 枚ずつ取るものとする.
例えば, A,B の持ち札が, 以下の入力例 1 から 3 のように並べられている場合を考えよう. ただし, 入力ファイルは n + 1 行からなり, 1 行目には各プレーヤのカード枚数 n が書かれており, i + 1 行目(i = 1,2,... ,n)には A の左から i 枚目のカードの数字と B の左から i 枚目の カードの数字が, 空白を区切り文字としてこの順で書かれている. すなわち, 入力ファイルの 2 行目以降は, 左側の列が A のカードの並びを,右側の列が B のカードの並びを, それぞれ表している. このとき, ゲーム終了後の A と B の得点は,それぞれ, 対応する出力例に示したものとなる.
入力ファイルに対応するゲームが終了したときの A の得点と B の得点を, この順に空白を区切り文字として 1 行に出力するプログラムを作成しなさい. ただし, n ≦ 10000 とする.
アップロードする出力ファイルにおいては, 出力の後(B の得点の後)に改行を入れること.
入力例1 | 入力例2 | 入力例3 |
---|---|---|
3 | 3 | 3 |
9 1 | 9 1 | 9 1 |
5 4 | 5 4 | 5 5 |
0 8 | 1 0 | 1 8 |
出力例1 | 出力例2 | 出力例3 |
19 8 | 20 0 | 15 14 |