回答編集履歴

1

マイナスになる入力に差し替え

2024/06/13 21:40

投稿

actorbug
actorbug

スコア2276

test CHANGED
@@ -1,10 +1,10 @@
1
1
  ご提示のint型のコードでは、解が何通りあるかを計算していますが、パターン数が多すぎてintの範囲を超えてしまい、オーバーフローが発生しています。その結果、値がちょうど0に等しくなってしまい、`if(dp[X]!=0)`でもテストケースが通らない場合が出てきます。
2
2
 
3
- 例えば、以下の小さな入力に対してさえ、解は4,807,526,976通りになってしまいます。intの最大値は2,147,483,647なので、オーバーフローが発生します。
3
+ 例えば、以下の小さな入力に対してさえ、解は2,971,215,073通りになってしまいます。intの最大値は2,147,483,647なので、オーバーフローが発生します。
4
4
  ```
5
5
  2
6
6
  1 2
7
7
  1
8
8
  2
9
- 50
9
+ 49
10
10
  ```