ProgMe

Untitled

Dec 13th, 2020
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define int long long
  3.  
  4. using namespace std;
  5.  
  6. int32_t main()
  7. {
  8. unsigned int n;
  9. cin >> n;
  10. unsigned int now = 1;
  11. while(now<<1U <= n)
  12. now <<= 1U;
  13. string s;
  14. while(now >= 1U){
  15. if(n >= now)
  16. n -= now, s += '1';
  17. else
  18. s += '0';
  19. now >>= 1U;
  20. }
  21. unsigned int ans = 1;
  22. now = 1;
  23. bool fnd = false;
  24. for(char i : s){
  25. if(now == 1 && i == '1')
  26. now++;
  27. else if ((i == '1' && fnd) || (i == '0' && !fnd))
  28. now++, fnd = 1 - fnd;
  29. else {
  30. ans = max(ans, now);
  31. fnd = false;
  32. now = 1;
  33. }
  34. }
  35. ans = max(ans, now);
  36. cout << ans;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment