#include <iostream>
int main() {
std::string str = "1111P1P";
std::string final;
int running_total = 0;
for(auto ch : str) {
if(ch == '1') {
running_total++;
continue;
}
if(running_total > 0) { final += std::to_string(running_total); }
final += ch;
running_total = 0;
}
// In case we ended on a '1'
if(running_total > 0) { final += std::to_string(running_total); }
std::cout << final;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKSB7CglzdGQ6OnN0cmluZyBzdHIgPSAiMTExMVAxUCI7CgkKCXN0ZDo6c3RyaW5nIGZpbmFsOwoJaW50IHJ1bm5pbmdfdG90YWwgPSAwOwoJZm9yKGF1dG8gY2ggOiBzdHIpIHsKCQlpZihjaCA9PSAnMScpIHsJCgkJCXJ1bm5pbmdfdG90YWwrKzsKCQkJY29udGludWU7CgkJfQoJCWlmKHJ1bm5pbmdfdG90YWwgPiAwKSB7IGZpbmFsICs9IHN0ZDo6dG9fc3RyaW5nKHJ1bm5pbmdfdG90YWwpOyB9CgkJZmluYWwgKz0gY2g7CgkJcnVubmluZ190b3RhbCA9IDA7Cgl9CgkKCS8vIEluIGNhc2Ugd2UgZW5kZWQgb24gYSAnMScKCWlmKHJ1bm5pbmdfdG90YWwgPiAwKSB7IGZpbmFsICs9IHN0ZDo6dG9fc3RyaW5nKHJ1bm5pbmdfdG90YWwpOyB9CgkKCXN0ZDo6Y291dCA8PCBmaW5hbDsKCQoJcmV0dXJuIDA7Cn0=