测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2313. 禁止在 int 乘 int 时不开 long long

编程题 入门
知识点

题目描述

在比赛中,根据数据范围,分析清楚变量的取值范围,是非常重要的。int 类型变量与 int 类型变量相乘,往往可能超出 int 类型可以表示的取值范围。

现在,给出两个 int 类型变量 $x,y$ 及其取值范围,请问 $x\times y$ 的值是否可能超过 int 类型可以表示的范围?

> 提示:int 类型可以表示的范围为 $[-2147483648, 2147483647]$,即 $[-2^{31},2^{31}-1]$。也就是,int 类型可以表示的最小值为 $-2147483648$,最大值为 $2147483647$。

输入格式

输入共两行。

输入的第一行为两个整数 $x_l,x_u$,表示变量 $x$ 的取值范围为 $x_l \le x \le x_u$。

输入的第二行为两个整数 $y_l,y_u$,表示变量 $y$ 的取值范围为 $y_l \le y \le y_u$。

输出格式

输出一行一个字符串:

- 若会超过,则输出 long long int
- 若不会超过,则输出 int

输入输出样例

输入 #1
1 5
1 5
输出 #1
int
输入 #2
-2147483647 2147483647
-2147483647 2147483647
输出 #2
long long int

说明/提示

### 数据规模与约定

- 对于 $50\%$ 的测试数据,$0 \le x_l \le x_u < 2^{31}$,$0 \le y_l \le y_u < 2^{31}$。
- 对于 $100\%$ 的测试数据,$-2^{31} \le x_l \le x_u < 2^{31}$,$-2^{31} \le y_l \le y_u < 2^{31}$。
上一题 去做题 下一题