#include <iostream>
#include <string>
using namespace std;
int string2sec(const std::string& str) {
int i = 0;
int res = -1;
int tmp = 0;
int state = 0;
while(str[i] != '\0') {
// If we got a digit
if(str[i] >= '0' && str[i] <= '9') {
tmp = tmp * 10 + str[i] - '0'; // Little bug fix here
}
// Or if we got a colon
else if(str[i] == ':') {
// If we were reading the hours
if(state == 0) {
res = 3600 * tmp;
}
// Or if we were reading the minutes
else if(state == 1) {
res += 60 * tmp;
}
// Or if we were reading the seconds
else if(state == 2) {
res += tmp;
}
// Or we got an extra colon
else {
return -1;
}
state++;
tmp = 0;
}
// Or we got something wrong
else {
return -1;
}
i++;
}
return res;
}
int main() {
std::cout << string2sec("1:01:01") << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHN0cmluZzJzZWMoY29uc3Qgc3RkOjpzdHJpbmcmIHN0cikgewogIGludCBpID0gMDsKICBpbnQgcmVzID0gLTE7CiAgaW50IHRtcCA9IDA7CiAgaW50IHN0YXRlID0gMDsKCiAgd2hpbGUoc3RyW2ldICE9ICdcMCcpIHsKICAgIC8vIElmIHdlIGdvdCBhIGRpZ2l0CiAgICBpZihzdHJbaV0gPj0gJzAnICYmIHN0cltpXSA8PSAnOScpIHsKICAgICAgdG1wID0gdG1wICogMTAgKyBzdHJbaV0gLSAnMCc7IC8vIExpdHRsZSBidWcgZml4IGhlcmUKICAgIH0KICAgIC8vIE9yIGlmIHdlIGdvdCBhIGNvbG9uCiAgICBlbHNlIGlmKHN0cltpXSA9PSAnOicpIHsKICAgICAgLy8gSWYgd2Ugd2VyZSByZWFkaW5nIHRoZSBob3VycwogICAgICBpZihzdGF0ZSA9PSAwKSB7CiAgICAgICAgcmVzID0gMzYwMCAqIHRtcDsKICAgICAgfQogICAgICAvLyBPciBpZiB3ZSB3ZXJlIHJlYWRpbmcgdGhlIG1pbnV0ZXMKICAgICAgZWxzZSBpZihzdGF0ZSA9PSAxKSB7CiAgICAgICAgcmVzICs9IDYwICogdG1wOwogICAgICB9CiAgICAgIC8vIE9yIGlmIHdlIHdlcmUgcmVhZGluZyB0aGUgc2Vjb25kcwogICAgICBlbHNlIGlmKHN0YXRlID09IDIpIHsKICAgICAgICByZXMgKz0gdG1wOwogICAgICB9CiAgICAgIC8vIE9yIHdlIGdvdCBhbiBleHRyYSBjb2xvbgogICAgICBlbHNlIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KCiAgICAgIHN0YXRlKys7CiAgICAgIHRtcCA9IDA7CiAgICB9CiAgICAvLyBPciB3ZSBnb3Qgc29tZXRoaW5nIHdyb25nCiAgICBlbHNlIHsKICAgICAgcmV0dXJuIC0xOwogICAgfQogICAgaSsrOwogIH0KCiAgcmV0dXJuIHJlczsKfQppbnQgbWFpbigpIHsKCXN0ZDo6Y291dCA8PCBzdHJpbmcyc2VjKCIxOjAxOjAxIikgPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=