A+B and C (64bit)
题目描述:
Given three integers A, B and C in [-263, 263), you are supposed to tell whether A+B > C.
输入描述:
The first line of the input gives the positive number of test cases, T (<=1000). Then T test cases follow, each consists of a single line containing three integers A, B and C, separated by single spaces.
输出描述:
For each test case, output in one line “Case #X: true” if A+B>C, or “Case #X: false” otherwise, where X is the case number (starting from 1).
输入样例:
3
1 2 3
2 3 4
9223372036854775807 -9223372036854775808 0
输出样例:
Case #1: false
Case #2: true
Case #3: false
本人AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
vector<int> sb(n);
for(int i=0;i<n;i++){
long long a,b,c;
cin>>a>>b>>c;
if(b>=0&&a>=0&&LLONG_MAX-b<a) sb[i]=true;
else if(b<0&&a<0&&LLONG_MIN-b>a) sb[i]=false;
else sb[i]=(a+b>c);
}
for(int i=0;i<n;i++){
cout<<"Case #"<<i+1<<": "<<(sb[i]?"true":"false");
cout<<endl;
}
return 0;
}