In the problem, FFL of LTIME83B, using comparison with INT_MAX for getting the smallest element gives WA, whereas comparing with 100 gives AC. Why is it so?
It’s just comparison, so why is it be considered with the constraint.
In the problem, FFL of LTIME83B, using comparison with INT_MAX for getting the smallest element gives WA, whereas comparing with 100 gives AC. Why is it so?
It’s just comparison, so why is it be considered with the constraint.
Its not just a comparison, when you are using INT_MAX
and checking the condition:
if(ans1+ans2+s>100)
cout << "no\n";
the ans1 + ans2
part overflows which in turn gives WA.
Refer to the test-cases given here: Getting wrong answer in FFL April Lunchtime - #3 by striker22
Using INT_MAX
will overflow when you’re adding in line 24
Yeah, I got the same problem.
Bro, If you add something to INT_MAX, it overflows the size of int and int+int=int, hence, due to overflow, it is giving error.
Okay, I got it.
Thank You.
So where do we use INT_MAX ?
When you have to just compare but not add to any other value which is of type int
INT_MAX
is a macro defined to let you know what is the maximum value you can store in an 32-bit signed integer i.e. int
.
You can use it here also or when you want to find min
or max
values in a sequence but you need to careful when you are doing any kind of arithmetic operations, better keep in mind that whenever you use INT_MAX
, INT_MIN
and doing some arithmetic operations, make sure that the variable in which you are storing the result must be of type long long int
.