問題文
枚の整数の書かれたカードと、 枚の演算子の書かれたカードがあります。
番目の整数の書かれたカードには整数 が書かれています。 番目の演算子の書かれたカードには演算子 が書かれています。 書かれている演算子は + または ^ です。
変数 があり、はじめ で初期化されています。あなたはこれから、以下の一連の手続きを 回繰り返します。
- 整数の書かれたカードと演算子の書かれたカードをそれぞれ 枚ずつ選び、それぞれ整数 と演算子 が書かれているとする。
- が
+のとき、 に更新する。 - が
^のとき、 に更新する。ここで はビット単位 XOR を表す。
- が
- 上記の整数の書かれたカードと演算子の書かれたカードを食べる。
手続きがすべて完了した後の としてあり得る最大値と最小値をそれぞれ求めてください。
ビット単位 XOR 演算とは
非負整数 のビット単位 XOR は、以下のように定義されます。
- を二進表記したときの の位の数は、 を二進表記したときの の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります。(二進表記すると、 です。)
制約
- は整数
- は
+または^
入力
入力は以下の形式で標準入力から与えられる。
出力
としてあり得る最大値と最小値を、この順に空白区切りで出力せよ。
サンプル 1
入力
3
1 2 3
+ + ^
出力
6 0
例えば、以下のように手続きを行うことで、 を達成することができます。
- の書かれたカードと
^の書かれたカードを選ぶ。 に更新される。 - の書かれたカードと
+の書かれたカードを選ぶ。 に更新される。 - の書かれたカードと
+の書かれたカードを選ぶ。 に更新される。
このような手続きによって得られる の最大値と最小値はそれぞれ です。
サンプル 2
入力
8
9 323 640 833 102 773 889 900
+ ^ + ^ + + ^ ^
出力
4469 9
ログインして解答を提出
解答の提出や採点結果の確認には、ログインが必要です。
ログインする