P1401题解
lbdontknow · · 题解
题目传送门
这道题我们不难发现,根据两个变量的取值范围
本题需要开 long long,否则会溢出。
代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int inf = 2147483647; //临界值
bool f(int x){//该函数的作用是,如果 x 在 int 范围内,返回 false,否则返 回true
return !(x >= -inf && x <= inf);
}
signed main(){
int x1, x2, y1, y2;
cin >> x1 >> x2 >> y1 >> y2;
if(f(x1 * y1) || f(x1 * y2) || f(x2 * y1) || f(x2 * y2)){
cout << "long long int" << endl;
}
else{
cout << "int" << endl;
}
return 0;
}