Problem Link: https://codeforces.com/contest/1809/problem/B
(Recent Edu Round Problem B)
Please watch these submissions for Problem B from my id:
https://codeforces.com/contest/1809/submission/198866759 : Says TLE on Test 1
https://codeforces.com/contest/1809/submission/198864293 : Says WA on Test 2
And now watch the same solution submitted by my friend after contest:
https://codeforces.com/contest/1809/submission/198867203 : SAYS AC !
Please explain the happening !
also all I tried to hack a cout<<sqrt(n-1) solution and I failed, so please find the bug.
The AC submission is using C++20, while yours is using C++17. Just floating point things.
Actually! The AC submission is using C++ 17, not C++ 20 But yes that is a difference.
Auto comment: topic has been updated by rahul_shrestha (previous revision, new revision, compare).
Don't use sqrt.
Understood! Thankyou for the blogs.
TLE Submission : in this submission, you have used
int am()which expects an integer to be returned but since there is no return statement, the result is undefined behaviour (also
coutdoes not have a return value hence resulting infinite loop. though im not sure)
yes, i also think the same hi happening, though in C++17, same code with no return value 198867203 is being accepted which was imteresting.
Yes same thing happened with me and later I realised that the issue is that if we select g++17 or g++14 it will submit but will get wa with g++20
In C++20, if you use sqrtl which typecasts input into long double then it passes.
Using sqrtl: https://codeforces.com/contest/1809/submission/198906985
Using sqrt: https://codeforces.com/contest/1809/submission/198907064