#include <stdio.h>
#include <string.h>
int timestr2sec(char *c) {
int i, a, n;
int len, offset;
offset = len - 8;
n = (int)(c[7 + offset] - '0') +
(int)((c[6 + offset] - '0') * 10) +
(int)((c[4 + offset] - '0') * 60) +
(int)((c[3 + offset] - '0') * 600) +
(int)((c[1 + offset] - '0') * 3600) +
(int)((c[0 + offset] - '0') * 36000);
a = 360000;
for (i = offset - 1; i >= 0; i--) {
n += (int)((c[i] - '0') * a);
a *= 10;
}
return n;
}
int main(void) {
// your code goes here
char *t1 = "01:23:45";
char *t2 = "333:33:33";
char *t3 = "99:59:59";
char *t4 = "1000:00:00";
printf("%s = %d sec\n", t1
, timestr2sec
(t1
)); printf("%s = %d sec\n", t2
, timestr2sec
(t2
)); printf("%s = %d sec\n", t3
, timestr2sec
(t3
)); printf("%s = %d sec\n", t4
, timestr2sec
(t4
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCB0aW1lc3RyMnNlYyhjaGFyICpjKSB7CglpbnQgaSwgYSwgbjsKCWludCBsZW4sIG9mZnNldDsKCQoJbGVuID0gc3RybGVuKGMpOwoJb2Zmc2V0ID0gbGVuIC0gODsKCQoJbiA9IChpbnQpKGNbNyArIG9mZnNldF0gLSAnMCcpICsgCgkgICAgKGludCkoKGNbNiArIG9mZnNldF0gLSAnMCcpICogMTApICsKCSAgICAoaW50KSgoY1s0ICsgb2Zmc2V0XSAtICcwJykgKiA2MCkgKwoJICAgIChpbnQpKChjWzMgKyBvZmZzZXRdIC0gJzAnKSAqIDYwMCkgKyAKCSAgICAoaW50KSgoY1sxICsgb2Zmc2V0XSAtICcwJykgKiAzNjAwKSArCgkgICAgKGludCkoKGNbMCArIG9mZnNldF0gLSAnMCcpICogMzYwMDApOwoJYSA9IDM2MDAwMDsKCWZvciAoaSA9IG9mZnNldCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJbiArPSAoaW50KSgoY1tpXSAtICcwJykgKiBhKTsKCQlhICo9IDEwOwoJfQoJcmV0dXJuIG47Cn0KCmludCBtYWluKHZvaWQpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWNoYXIgKnQxID0gIjAxOjIzOjQ1IjsKCWNoYXIgKnQyID0gIjMzMzozMzozMyI7CgljaGFyICp0MyA9ICI5OTo1OTo1OSI7CgljaGFyICp0NCA9ICIxMDAwOjAwOjAwIjsKCQoJcHJpbnRmKCIlcyA9ICVkIHNlY1xuIiwgdDEsIHRpbWVzdHIyc2VjKHQxKSk7CglwcmludGYoIiVzID0gJWQgc2VjXG4iLCB0MiwgdGltZXN0cjJzZWModDIpKTsKCXByaW50ZigiJXMgPSAlZCBzZWNcbiIsIHQzLCB0aW1lc3RyMnNlYyh0MykpOwoJcHJpbnRmKCIlcyA9ICVkIHNlY1xuIiwgdDQsIHRpbWVzdHIyc2VjKHQ0KSk7CgkJCglyZXR1cm4gMDsKfQo=