@[HUTEHE](/user/1086575)
就说92的吧
有可能是这个原因:
>2. 某些时候 $a$ 和 $y$ 或 $x$ 和 $b$ 的乘积也可能极大或极小.
比如:
$a$ = 0 , $x$ =2147483647
$b$ = -2 , $y$ =1
则,
$x×b$ = -4294967294
这种情况,你的代码就会错
另外, `if` 的判断里还有一些细节的地方要改一下,比如应该用 `||` 连接每个判断.
综上,只需在 `if` 前加上:
```cpp
long long int ans3=a*y;
long long int ans4=x*b;
```
再将 `if` 里的判断改为:
```cpp
ans>=pow(2,31) || abs(ans2)>pow(2,31) || ans3<-pow(2,31) || ans4<-pow(2,31)
``````
即可 $\large \textrm{\color{#00e500}AC}$
### 求互关!
by penghouqiao @ 2024-07-10 22:35:25
@[penghouqiao](/user/927730) 谢,已关
by HUTEHE @ 2024-07-12 10:36:18
@[HUTEHE](/user/1086575) 已回关
by penghouqiao @ 2024-07-12 12:43:53