Don't use sqrt because precision issues
Also here is implementation to find floor(sqrt(x))
#define int long long
int sqrt(int x){
int l=1,r=1e9+5,ans=0,mid;
while (l<=r){
mid=(l+r)/2;
if (mid*mid<=x){
ans=mid;
l=mid+1;
}else r=mid-1;
}return ans;
}
It seems std::sqrt works fine in C++17 though. Also sqrtl seems to give correct results
I used sqrtl and AC B in my first try
I'm not sure about sqrtl, but I think it might have precision issues too. I think coding sqrt using binary search can be best because it's dealing with integers.
yeah binary search implementation is great
but usually sqrtl works. Sad for you u solved only A :((
It's ok, I'm used to heavy drops
Sad for you u use alt to reply :((
Sad for you u are expected to have -51 rating change as expected by carrot :((
Sad for you, your blogs talks about people breaking the contest rules, yet u break them and admitting it :((
Hmm. I guess your logic has some holes. What proves to you I use alt accounts in contests? Maybe, I used sqrtl and submitted on my main account during contest time and I just use this alt account for sharing some useful piece of info as I don't like writing from my main.
Could you provide an example ?
Based on what I've seen in your blogs, it appears to me that you engage in contribution farming
More holes in your logic. Wasn't sharing the helpfulness of sqrtl() in such problems for c++20 something useful? that it got +29 ups. Another past incidence, a colleague of yours Yousef_Sameh asked for help regarding map and unordered_map and I explained why the HashMap got TLE thru hacks, here
And isn't this your comment and this also . It looks to me you engage in contribution farming.
Aren't those mentioned comments contribution farming? Besides most of my contribution was got from catching cheaters who spoil the platform or thanking Mike for his efforts like this blog
However, PEACE out! I see this discussion of no relation to the post
Good luck for your CP journey.
Well, technically you are newbie.
I found the blog on recent actions, and found this ultra funny 😂
I break contest rules ? Then what about you, pro div2E solver 😂 ?
You can check here.
Is atcoder_merchant your alt ? (I guess yes by >90%) And I know that Wegz-Saleny is your alt. (bas wegz 7kaya wla eh r2yak, b7bo bsra7a ? Eskndrya gamda fash5 w account da 7kaya brdo mmmkn ytft7 mno mwade3 ktyyr ama nrag3 submission xD)
Hello There.
Yes, I admit that Wegz-Saleny was my alt.
During the contest, I was taking part with my alt, I switched with my main to take a look at the leaderboard, to take a look at my peers.
That's when I submitted my main instead of my alt in Problem C, resulting in my solutions getting skipped.
I have stopped doing this action from that time (participating with alt) and instead participating with my main and not caring about the end result and I regret that action.
I don't know who is atcoder_merchant.
Lastly, I would advise you to go practice, touch grass, or do something useful. Paying attention to others is an indicator of insecurity.
You and your alt solved Div2E. So pro 😂. I think I know that alt btw, and it isn't yours xD Btw, the skip had been for E 😉
In addition, alting became prohibited per Mike's Single acc policy. You can check the blog that you downvote. It includes lots of examples on those alts smurfing.
Heap_OverFlow
Ever consider stepping away from these types of blogs/comments? Maybe it's time to find a life, bro! xD
I shouldn't tell info about my life here bro, but I have ✪ω✪
I would advise you to stop farming contribution Abdelaleem. Hey!! One more _Sage. Active 17 min ago. This is ur alt it was named Abdelaleem-OR-Yousef ✪ω✪ Let me add it in the blog. For the reader, to verify, https://codeforces.net/profile/Abdelaleem-OR-Yousef
sqrtl works fine for numbers up to $$$2^{62}$$$, which is imo enough for most cases. source
Good piece of information. Thanks ✪ω✪
I just used plain old sqrt (with long double) and brute forced the correct value assuming that the precision error is at most +/-10
I write binary search this way (after log part), when I am lazy to think)
This gave me AC with sqrt
Upd: Maybe I Just made 2 mistakes that are Canceling each other
You might get hacked/fst
I tried to hack me now, In Local i got WA but in codeforces i got AC(Unsuccesfull hacking attempt) I think i'm lucky today. I switched to GNU C++20 (64) and got WA too
you are wrong
std::sqrt precision is good enough to work on integers (at least up to long long)
(edit: in c++ 17)
Can anyone give an actual example where you should use binary search instead of std::sqrt? Never had any precision problems for integers with sqrt
Edit: it seems like there are no problems on c++ 17 but when I switch to c++ 20 it fails. Either way, writing binary search for sqrt seems too boring, just use c++ 17
C++ is evolving backwards
i actually had precision issues with c++17 in a previous contest, (this is my alt's submission because that day i could only give first hour of contest)
https://codeforces.net/contest/1737/submission/174985763
you can verify if you replace sqrt with sqrtl this is correct
Then what I said was right
Auto comment: topic has been updated by Abito (previous revision, new revision, compare).
I upsolved some questions today and done this, i feltit magic, changing compiler ot 20, it get to wrong answer Like there undefined behavior with those built ins. Did a google dork for codeforce about sqrt with binary search as i remember encountering on leetcode, and found this great way. Thank