A - 長方形

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

ある長方形の 3 つの辺の長さが与えられる。 残り 1 つの辺の長さを求めよ。


入力

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

l_1 l_2 l_3
  • 1 行目には、長方形の 3 つの辺の長さを表す整数 l_1, l_2, l_3 (1≦l_1,l_2,l_3≦10) が与えられる。

出力

長方形の残り 1 つの辺の長さを出力せよ。 ただし、答えはちょうど 1 つ存在することが保証される。 出力の末尾には改行を入れること。


入力例1

1 1 2

出力例1

2

1×2 の長方形である。


入力例2

4 3 4

出力例2

3

入力は任意の順序で与えられる。


入力例3

5 5 5

出力例3

5

正方形も長方形である。

B - 島と橋

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

N 個の島が横一列に並んでいる。 1≦i≦N-1 について、左から i 番目の島と i+1 番目の島は隣り合っている。

はじめ、左から i (1≦i≦N) 番目の島には a_i 人の住人が住んでいる。 高橋君はすべての島に同じ人数の住人が住むようにしたいと考えている。

高橋君は隣り合う 2 つの島の間に橋を架けることができる。 また、直接的または間接的に橋で結ばれた複数の島の間で、住人を自由に移動させることができる。

すべての島に同じ人数の住人が住むようにするために、架ける必要のある橋の本数の最小値を求めよ。


入力

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

N
a_1 a_2 .. a_N
  • 1 行目には、島の個数を表す整数 N (2≦N≦100) が与えられる。
  • 2 行目には、整数 a_i (0≦a_i≦100) が空白区切りで与えられる。これは、左から i 番目の島には a_i 人の住人が住んでいることを表す。

出力

すべての島に同じ人数の住人が住むようにするために、架ける必要のある橋の本数の最小値を 1 行に出力せよ。 ただし、どのように橋を架けてもすべての島に同じ人数の住人が住むようにできないならば、代わりに -1 を出力せよ。 出力の末尾には改行を入れること。


入力例1

3
1 2 3

出力例1

2

図のように橋を架ければよい。


入力例2

5
2 0 0 0 3

出力例2

3

図のように橋を架ければよい。


入力例3

2
0 99

出力例3

-1

どのように橋を架けてもすべての島に同じ人数の住人が住むようにできない。


入力例4

4
0 0 0 0

出力例4

0

はじめからすべての島に同じ人数の住人が住んでいる。

C - 倍々ゲーム

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

高橋君と青木君が以下のような二人ゲームで勝負する。

まず、正の整数 N が与えられる。 また、変数 x1 に初期化する。高橋君から始め、高橋君と青木君が交互に次の操作を行う。

  • x の値を 2x または 2x+1 に置き換える。

xN よりも大きくなったとき、最後に操作を行った人が負けである。

二人が最善を尽くすとき、どちらが勝つか求めよ。


入力

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

N
  • 1 行目には、正の整数 N (1≦N≦10^{18}) が与えられる。

出力

高橋君が勝つならば Takahashi を、青木君が勝つならば Aoki1 行に出力せよ。 出力の末尾には改行を入れること。


入力例1

1

出力例1

Aoki

高橋君がどのように操作を行っても x>1 となってしまう。


入力例2

5

出力例2

Takahashi

高橋君が x=3 とすると、青木君がどのように操作を行っても x>5 となってしまう。


入力例3

7

出力例3

Aoki

入力例4

10

出力例4

Takahashi

入力例5

123456789123456789

出力例5

Aoki

N32 bit 整数型に収まらない。

D - ロボット

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

数直線の原点にロボットが置かれている。 はじめ、ロボットの幸福度は 0 である。

このロボットに命令列が与えられる。 命令列は次の 3 文字のみからなり、先頭から末尾まで順に実行される。

  • M : 正または負の好きな向きに、距離 1 だけ移動する。
  • + : 今の座標を x とすると、幸福度が +x だけ変化する。
  • - : 今の座標を x とすると、幸福度が -x だけ変化する。

命令列を実行し終えた後、 ロボットは原点に戻っていなければならない 。 命令列を実行している間、ロボットの座標および幸福度は負になり得る。

最終的な幸福度を最大化するようにロボットが移動したとき、最終的な幸福度を求めよ。


入力

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

S
  • 1 行目には、命令列 S (1≦|S|≦10^5) が与えられる。SM, +, - のみからなり、M が偶数個含まれる。

部分点

この問題には部分点が設定されている。

  • 1≦|S|≦1,000 を満たすデータセットに正解した場合は 30 点が得られる。

出力

最終的な幸福度を最大化するようにロボットが移動したとき、最終的な幸福度を 1 行に出力せよ。 出力の末尾には改行を入れること。


入力例1

M+MM-M

出力例1

2

以下では、正の向きへの移動を >、負の向きへの移動を < と表す。

>+<<-> のように移動すればよい。


入力例2

MMM+M

出力例2

1

例えば >><+< のように移動すればよい。


入力例3

MMM+--MMM

出力例3

3

<<<+-->>> のように移動すればよい。


入力例4

+

出力例4

0