#include <stdio.h>
int main()
{
int N = 114067; // input value, can be read with scanf()
int currentLength = 0; // here we will store the current number of consecutive ones
int bestLength = 0; // here we will store the best result
while (N) // as long as N is greater than 1
{
if (N&1) // if the last bit is set to 1
{
// cool, let's increment the current sequence's length
currentLength += 1;
// currentLength has changed, maybe now it is better than best known solution?
if (currentLength > bestLength)
{
// awesome! new best solution is found
bestLength = currentLength;
}
}
else
{
// we have encountered 0 while scanning bits, we must start counting the length over
currentLength = 0;
}
// let's move to the next bit!
N = N>>1;
}
printf("%d", bestLength
); // print out the value
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKICAgIGludCBOID0gMTE0MDY3OyAvLyBpbnB1dCB2YWx1ZSwgY2FuIGJlIHJlYWQgd2l0aCBzY2FuZigpCiAgICBpbnQgY3VycmVudExlbmd0aCA9IDA7IC8vIGhlcmUgd2Ugd2lsbCBzdG9yZSB0aGUgY3VycmVudCBudW1iZXIgb2YgY29uc2VjdXRpdmUgb25lcwogICAgaW50IGJlc3RMZW5ndGggPSAwOyAvLyBoZXJlIHdlIHdpbGwgc3RvcmUgdGhlIGJlc3QgcmVzdWx0CgogICAgd2hpbGUgKE4pIC8vIGFzIGxvbmcgYXMgTiBpcyBncmVhdGVyIHRoYW4gMQogICAgewogICAgICAgIGlmIChOJjEpIC8vIGlmIHRoZSBsYXN0IGJpdCBpcyBzZXQgdG8gMQogICAgICAgIHsKICAgICAgICAgICAgLy8gY29vbCwgbGV0J3MgaW5jcmVtZW50IHRoZSBjdXJyZW50IHNlcXVlbmNlJ3MgbGVuZ3RoCiAgICAgICAgICAgIGN1cnJlbnRMZW5ndGggKz0gMTsKCiAgICAgICAgICAgIC8vIGN1cnJlbnRMZW5ndGggaGFzIGNoYW5nZWQsIG1heWJlIG5vdyBpdCBpcyBiZXR0ZXIgdGhhbiBiZXN0IGtub3duIHNvbHV0aW9uPwogICAgICAgICAgICBpZiAoY3VycmVudExlbmd0aCA+IGJlc3RMZW5ndGgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIC8vIGF3ZXNvbWUhIG5ldyBiZXN0IHNvbHV0aW9uIGlzIGZvdW5kCiAgICAgICAgICAgICAgICBiZXN0TGVuZ3RoID0gY3VycmVudExlbmd0aDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAvLyB3ZSBoYXZlIGVuY291bnRlcmVkIDAgd2hpbGUgc2Nhbm5pbmcgYml0cywgd2UgbXVzdCBzdGFydCBjb3VudGluZyB0aGUgbGVuZ3RoIG92ZXIKICAgICAgICAgICAgY3VycmVudExlbmd0aCA9IDA7CiAgICAgICAgfQoKICAgICAgICAvLyBsZXQncyBtb3ZlIHRvIHRoZSBuZXh0IGJpdCEKICAgICAgICBOID0gTj4+MTsKICAgIH0KCiAgICBwcmludGYoIiVkIiwgYmVzdExlbmd0aCk7IC8vIHByaW50IG91dCB0aGUgdmFsdWUKCiAgICByZXR1cm4gMDsKfQ==