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

入门

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

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

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

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

输入格式

输入共两行。

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

输入的第二行为两个整数 yl,yuy_l,y_u,表示变量 yy 的取值范围为 yl≤y≤yuy_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%50\% 的测试数据,0≤xl≤xu<2310 \le x_l \le x_u < 2^{31},0≤yl≤yu<2310 \le y_l \le y_u < 2^{31}。
  • 对于 100%100\% 的测试数据,−231≤xl≤xu<231-2^{31} \le x_l \le x_u < 2^{31},−231≤yl≤yu<231-2^{31} \le y_l \le y_u < 2^{31}。

输入解题思路,AI测评打分。不知道怎么写?

首页