#T560175. 最长的连续1子段

最长的连续1子段

题目描述

输入一个正整数,求它的二进制形式中最长的连续1子段的长度及起始和结束位置,最低位为第0位。

输入格式

输入数据占一行,为一个正整数,不超出int型范围。

输出格式

输出占一行,为三个整数mx, s, t,分别表示最长的连续1子段的长度、起始位置和结束位置。如果有多个连续1的子段取到最长,则输出第一个子段的起始和结束位置。

输入输出样例 #1

输入 #1

2147483647

输出 #1

31 0 30

输入输出样例 #2

输入 #2

47229

输出 #2

5 2 6

说明/提示

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.