95pts 求助

P1401 [入门赛 #18] 禁止在 int 乘 int 时不开 long long

负数乘正数可能爆int下届
by dongrunxuan @ 2023-12-12 19:48:30


Hack: ``` -200000000 1 1 200000000 ``` 注意下限乘上限也有可能爆 `int`。
by DGH_Didi @ 2023-12-12 19:48:42


加一个 a * d 和 b * c
by dongrunxuan @ 2023-12-12 19:49:19


```cpp #include<bits/stdc++.h> using namespace std; int main(){ long long x1,x2,y1,y2; cin>>x1>>x2>>y1>>y2; if(max(x1,x2)*max(y1,y2)>2147483647||max(x1,x2)*max(y1,y2)<-2147483647||min(x1,x2)*min(y1,y2)>2147483647||min(x1,x2)*min(y1,y2)<-2147483647||min(x1,x2)*max(y1,y2)>2147483647||min(x1,x2)*max(y1,y2)<-2147483647||max(x1,x2)*min(y1,y2)>2147483647||max(x1,x2)*min(y1,y2)<-2147483647) cout<<"long long int"; else cout<<"int"; return 0; } ```
by laozhang_123 @ 2023-12-12 20:43:59


|