1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #include <climits> #include <string> #include <algorithm> std::string s; std::string itostr(int n) { if(n == 0) { s = "0"; return s; } s.clear(); s.resize(16); char* c = &s[0]; long long val = n; if(val < 0) { *c++ = '-'; val = -val; } char* d = c; while(val >= 10) { *d++ = '0' + (val % 10); val /= 10; } *d = '0' + val; int size = d - &s[0] + 1; while(d > c) { std::swap(*c, *d); d--; c++; } s.resize(size); return s; } #include <iostream> int main(void) { int i = 0; i += itostr(INT_MIN).size(); i += itostr(INT_MAX).size(); i += itostr(unsigned(INT_MAX) + 1U).size(); i += itostr(unsigned(~0)).size(); char c = CHAR_MIN; do { i += itostr(c).size(); i += itostr((11111111 * c)).size(); if (c >= CHAR_MAX) break; c++; } while (1); while (i < 10000000) i += itostr(i).size(); std::cout << i << std::endl; return i; } |
I2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxhbGdvcml0aG0+CgpzdGQ6OnN0cmluZyBzOwpzdGQ6OnN0cmluZyBpdG9zdHIoaW50IG4pCnsKICAgIGlmKG4gPT0gMCkKICAgIHsKICAgICAgICBzID0gIjAiOwogICAgICAgIHJldHVybiBzOwogICAgfQogICAgcy5jbGVhcigpOwogICAgcy5yZXNpemUoMTYpOwogICAgY2hhciogYyA9ICZzWzBdOwogICAgbG9uZyBsb25nIHZhbCA9IG47CiAgICBpZih2YWwgPCAwKQogICAgewogICAgICAgICpjKysgPSAnLSc7CiAgICAgICAgdmFsID0gLXZhbDsKICAgIH0KICAgIGNoYXIqIGQgPSBjOwogICAgd2hpbGUodmFsID49IDEwKQogICAgewogICAgICAgICpkKysgPSAnMCcgKyAodmFsICUgMTApOwogICAgICAgIHZhbCAvPSAxMDsKICAgIH0KICAgICpkID0gJzAnICsgdmFsOwogICAgaW50IHNpemUgPSBkIC0gJnNbMF0gKyAxOwogICAgd2hpbGUoZCA+IGMpCiAgICB7CiAgICAgICAgc3RkOjpzd2FwKCpjLCAqZCk7CiAgICAgICAgZC0tOwogICAgICAgIGMrKzsKICAgIH0KICAgIHMucmVzaXplKHNpemUpOwogICAgcmV0dXJuIHM7Cn0KCiNpbmNsdWRlIDxpb3N0cmVhbT4KaW50IG1haW4odm9pZCkKewogICAgaW50IGkgPSAwOwogICAgaSArPSBpdG9zdHIoSU5UX01JTikuc2l6ZSgpOwogICAgaSArPSBpdG9zdHIoSU5UX01BWCkuc2l6ZSgpOwoKICAgIGkgKz0gaXRvc3RyKHVuc2lnbmVkKElOVF9NQVgpICsgMVUpLnNpemUoKTsKICAgIGkgKz0gaXRvc3RyKHVuc2lnbmVkKH4wKSkuc2l6ZSgpOyAKCgljaGFyIGMgPSBDSEFSX01JTjsKCWRvIHsKCQlpICs9IGl0b3N0cihjKS5zaXplKCk7CiAgICAgICAgICAgICAgICBpICs9IGl0b3N0cigoMTExMTExMTEgKiBjKSkuc2l6ZSgpOwoKICAgICAgICAgICAgICAgIGlmIChjID49IENIQVJfTUFYKSBicmVhazsKCgkJYysrOwoJfSB3aGlsZSAoMSk7CgogICAgd2hpbGUgKGkgPCAxMDAwMDAwMCkKICAgICAgICBpICs9IGl0b3N0cihpKS5zaXplKCk7CgogICAgc3RkOjpjb3V0IDw8IGkgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiBpOwp9
-
upload with new input
-
result: Success time: 0.54s memory: 2860 kB returned value: 134
10000006


