为何错了8个点???? 求助

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

@[Yuanyiyang2011](/user/920741) x,y可以取负值
by _int123_ @ 2023-12-18 16:13:01


四个值交叉相乘都需要看 正解为8个分支 ```cpp #include <bits/stdc++.h> using namespace std; const long long m1 = 2147483647; const long long m2 = -2147483648; long long xl,xr,yl,yr; int main(){ scanf("%lld%lld%lld%lld",&xl,&xr,&yl,&yr); if (xl * yl > m1 || xl * yl < m2 || xr * yr > m1 || xr * yr < m2 || xl * yr > m1 || xl * yr < m2 || xr * yl > m1 || xr * yl < m2) printf("long long int"); else printf("int"); return 0; } ```
by liuruiqing @ 2023-12-18 16:55:38


@[Yuanyiyang2011](/user/920741)
by Mike6024 @ 2023-12-22 16:45:09


@[Yuanyiyang2011](/user/920741) ![我过了](luogu_P1401_submission.png) ![这里要考虑到正负得负和负负得正的可能性](luogu_P1401_source)
by Su_chang2014 @ 2023-12-22 17:39:00


@[Yuanyiyang2011](/user/920741) ```cpp #include<bits/stdc++.h> using namespace std; signed main() { float xl,xu,yl,yu; cin>>xl>>xu; cin>>yl>>yu; (xu*yu>2147483647||xu*yl<-2147483648||xl*yu<-2147483648||xl*yl>2147483648) ?cout<<"long long int":cout<<"int"; return 0; } ``````
by Su_chang2014 @ 2023-12-22 17:47:06


@[Yuanyiyang2011](/user/920741) 我过了
by Su_chang2014 @ 2023-12-22 17:48:12


感谢大佬们
by Yuanyiyang2011 @ 2023-12-25 15:29:53


|