回答編集履歴
1
すこしゴタクを追加
test
CHANGED
@@ -12,7 +12,9 @@
|
|
12
12
|
|
13
13
|
期待する答えは `1000000000000000002`になるはずですが、実行結果は `999999999999999999` になります。
|
14
14
|
|
15
|
-
これは
|
15
|
+
これは意地悪な境界値ケースで発生します。テストケースにkillerとついていますが、おそらく「二分木探索での実装者を殺しに来る」意味合いなのかなと思います。問題文のミスリードを利用した引っ掛け問題です。
|
16
|
+
|
17
|
+
|
16
18
|
|
17
19
|
A,Nともに取りうる値は10^18までですが、数列Aの最大数が10^6あるため、答えとなりうる値が最大で10^10+10^6あることになります。このプログラムでは答えとして取りうる値の最大値をright側に入れて開始していますが、最大値が実際に取りうる最大値に足りていないので答えとして10^18以上の数値が来た場合にこれ以上の数が探索できずにleftにひたすらmidが加算されていきます。最終的にright未満の数値である10^18-1までしかleftが増加しません。
|
18
20
|
|