Here is the link to the problem :http://mirror.codeforces.com/contest/1073/problem/D
Here is the link to my submission : http://mirror.codeforces.com/contest/1073/submission/44895822
It shows TLE on test case #8.
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | maomao90 | 163 |
2 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
Why does this binary search show TLE ? Problem D: Educational Codeforces Round 53 (Rated for Div. 2)
Here is the link to the problem :http://mirror.codeforces.com/contest/1073/problem/D
Here is the link to my submission : http://mirror.codeforces.com/contest/1073/submission/44895822
It shows TLE on test case #8.
Name |
---|
It seems that you increment 'c' by 1 for every candy you buy. As the solution can be 1018, you will not finish a calc(mid) invocation in time when mid is large.
Also, 'high' starts at 3e10, and you look for a solution in [low, high]. But the solution can be way larger than that.
Yes, it works for the test#8 though , but I get TLE on test#9(Link: https://mirror.codeforces.com/contest/1073/submission/44903513 ). Thanks anyways. On a side note , do you think my code can be optimized more to get it accepted ? or do I need to change my approach entirely?
I'd suggest storing values that are less or equal than T in a set. That way you won't be spending time considering bigger elements. But, I'm still not sure if that will get AC. Probably you should give up binsearch and think of another idea.
The binary search part is unnecessary: 44923323
In a case like
Your calc function runs in O(T) time.