Moudud's blog

By Moudud, history, 4 years ago, In English

Codeforces Round #648 (Div. 2) problem number C.

I am getting TLE in test case 8. This TLE is for log function that I have used in my code. The first number of test case:8 is "576460752303423487". The two base log of "576460752303423487" should be 58 but I am getting 59 that is why I am getting TLE.

long long x, xx; x=log2(n); xx=(ll)pow(2, x);

In this case xx is greater than n, but why? for this reason I am getting TLE. What should I do in this case?

My problem is here 1362C - Johnny and Another Rating Drop My submission is also here 82543228

  • Vote: I like it
  • -4
  • Vote: I do not like it

| Write comment?
»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Firstly Make sure to use your own power function using Binary exponentiation which works in O(logn) time. Secondly,type caste the parameter of your log2() function to long double..i.e log2((long double)(x))..