#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
int main() {
const auto foo = "this (is(maybe)) a test (and maybe not)"s;
const auto start = find(cbegin(foo), cend(foo), '(');
const auto finish = find_if(start, cend(foo), [count = 0](const char i) mutable {
if (i == '('){
count++;
}
else if (i == ')'){
count--;
}
return count <= 0; });
if(start == cend(foo)) {
cout << "No '(' character found\n";
} else if(finish == cend(foo)) {
cout << "Even number of ')'s found\n";
} else {
cout << string(next(start), finish) << endl;
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgljb25zdCBhdXRvIGZvbyA9ICJ0aGlzIChpcyhtYXliZSkpIGEgdGVzdCAoYW5kIG1heWJlIG5vdCkiczsKCWNvbnN0IGF1dG8gc3RhcnQgPSBmaW5kKGNiZWdpbihmb28pLCBjZW5kKGZvbyksICcoJyk7Cgljb25zdCBhdXRvIGZpbmlzaCA9IGZpbmRfaWYoc3RhcnQsIGNlbmQoZm9vKSwgW2NvdW50ID0gMF0oY29uc3QgY2hhciBpKSBtdXRhYmxlIHsKCSAgICBpZiAoaSA9PSAnKCcpewoJICAgICAgICBjb3VudCsrOwoJICAgIH0KCSAgICBlbHNlIGlmIChpID09ICcpJyl7CgkgICAgICAgIGNvdW50LS07CgkgICAgfQoJICAgIHJldHVybiBjb3VudCA8PSAwOyB9KTsKCQoJaWYoc3RhcnQgPT0gY2VuZChmb28pKSB7CgkJY291dCA8PCAiTm8gJygnIGNoYXJhY3RlciBmb3VuZFxuIjsKCX0gZWxzZSBpZihmaW5pc2ggPT0gY2VuZChmb28pKSB7CgkJY291dCA8PCAiRXZlbiBudW1iZXIgb2YgJykncyBmb3VuZFxuIjsKCX0gZWxzZSB7CgkJY291dCA8PCBzdHJpbmcobmV4dChzdGFydCksIGZpbmlzaCkgPDwgZW5kbDsKCX0KfQ==