#L0213. 乘法溢出检查

乘法溢出检查

题目描述

在编程竞赛中,正确分析变量的取值范围至关重要。两个 int 类型变量相乘,结果可能超出 int 的表示范围。

现在给出两个 int 类型变量 x,yx, y 各自的取值范围,请判断 x×yx \times y 是否可能超过 int 的表示范围。

> 提示:int 类型的表示范围为 [2147483648,2147483647][-2147483648, 2147483647],即 [231,2311][-2^{31}, 2^{31}-1]

输入格式

输入共两行。

第一行两个整数 xl,xux_l, x_u,表示 xx 的取值范围为 xlxxux_l \le x \le x_u

第二行两个整数 yl,yuy_l, y_u,表示 yy 的取值范围为 ylyyuy_l \le y \le y_u

输出格式

输出一行一个字符串:

  • 若可能超过,输出 long long int
  • 若不会超过,输出 int

样例

1 5
1 5
int
0 2147483647
0 2147483647
long long int

提示

数据规模与约定

对于 100%100\% 的数据,0xlxu<2310 \le x_l \le x_u \lt 2^{31}0ylyu<2310 \le y_l \le y_u \lt 2^{31}

难度 入门
通过率
尝试 0
已通过 0
ID
941
类型
传统题
Time Limit
100ms
Memory Limit
512MiB
上传者