83分!why?(求助)

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

@[sly0801](/user/1086667) ~~能给个关注吗இ௰இ~~ ```cpp #include <bits/stdc++.h> using namespace std; long long a,b,c,d; signed main() { cin>>a>>b>>c>>d; if(a * c < -2147483648 || a * c > 2147483647 || b * d < -2147483648 || b * d > 2147483647 ||a * d < -2147483648 ||a * d > 2147483647 || b * c < -2147483648 || b * c > 2147483647) { cout<<"long long int"; } else { cout<<"int"; } return 0; } ```
by quxiangyu @ 2024-02-25 14:33:58


@[quxiangyu](/user/1241537) 能解释一下吗?
by sly0801 @ 2024-02-25 14:46:49


@[sly0801](/user/1086667) 如果其中两个数相乘大于了int的范围,那么输出"long long int" ,如果小于,那么输出"int";
by quxiangyu @ 2024-02-25 14:49:55


@[quxiangyu](/user/1241537) 为什么cin的是4个数?
by sly0801 @ 2024-02-25 14:50:55


两对ab
by hukangping @ 2024-02-25 14:52:12


@[sly0801](/user/1086667) 前两个数是x的取值范围,后两个数是y的取值范围
by quxiangyu @ 2024-02-25 14:53:03


@[sly0801](/user/1086667) 如果任意两数相乘结果大于int的范围,那么输出"long long int" ,否则输出"int"
by quxiangyu @ 2024-02-25 14:55:57


@[quxiangyu](/user/1241537) 感谢大犇
by sly0801 @ 2024-02-25 15:01:53


|