#include <iostream>
#include <iomanip>
#include <vector>
struct Range {
int start;
int end;
};
const bool bools[] = {true, false, false, false, true, true, false};
const int n = 7;
bool get_bool() {
static int index = 0;
return bools[index++];
}
int main() {
std::vector<Range> result;
if (n > 0) {
result.reserve(n);
Range range{0,0};
bool curr = get_bool(); // get 1st value
for (int i = 1; i < n; ++i) {
bool val = get_bool(); // get next value
if (val != curr) {
range.end = i - 1;
result.push_back(range);
range.start = i;
}
curr = val;
}
range.end = n - 1;
result.push_back(range);
}
std::cout << std::boolalpha;
std::cout << '{' << bools[0];
for(int i = 1; i < n; ++i) {
std::cout << ',' << bools[i];
}
std::cout << "}\n";
for(const auto &range : result) {
std::cout << range.start << '-' << range.end << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHZlY3Rvcj4KCnN0cnVjdCBSYW5nZSB7CiAgaW50IHN0YXJ0OwogIGludCBlbmQ7Cn07Cgpjb25zdCBib29sIGJvb2xzW10gPSB7dHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2V9Owpjb25zdCBpbnQgbiA9IDc7Cgpib29sIGdldF9ib29sKCkgewoJc3RhdGljIGludCBpbmRleCA9IDA7CglyZXR1cm4gYm9vbHNbaW5kZXgrK107Cn0KCmludCBtYWluKCkgewoJc3RkOjp2ZWN0b3I8UmFuZ2U+IHJlc3VsdDsKCWlmIChuID4gMCkgewoJCXJlc3VsdC5yZXNlcnZlKG4pOwoJCVJhbmdlIHJhbmdlezAsMH07CgoJCWJvb2wgY3VyciA9IGdldF9ib29sKCk7IC8vIGdldCAxc3QgdmFsdWUKCQlmb3IgKGludCBpID0gMTsgaSA8IG47ICsraSkgewoJCSAgICBib29sIHZhbCA9IGdldF9ib29sKCk7IC8vIGdldCBuZXh0IHZhbHVlCgkJCWlmICh2YWwgIT0gY3VycikgewoJCQkJcmFuZ2UuZW5kID0gaSAtIDE7CgkJCQlyZXN1bHQucHVzaF9iYWNrKHJhbmdlKTsKCQkJCXJhbmdlLnN0YXJ0ID0gaTsKCQkJfQoJCQljdXJyID0gdmFsOwoJCX0KCgkJcmFuZ2UuZW5kID0gbiAtIDE7CgkJcmVzdWx0LnB1c2hfYmFjayhyYW5nZSk7Cgl9CgogICAgc3RkOjpjb3V0IDw8IHN0ZDo6Ym9vbGFscGhhOwogICAgc3RkOjpjb3V0IDw8ICd7JyA8PCBib29sc1swXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBuOyArK2kpIHsKCQlzdGQ6OmNvdXQgPDwgJywnIDw8IGJvb2xzW2ldOwoJfQogICAgc3RkOjpjb3V0IDw8ICJ9XG4iOwoKCWZvcihjb25zdCBhdXRvICZyYW5nZSA6IHJlc3VsdCkgewoJCXN0ZDo6Y291dCA8PCByYW5nZS5zdGFydCA8PCAnLScgPDwgcmFuZ2UuZW5kIDw8ICdcbic7Cgl9CgoJcmV0dXJuIDA7Cn0=