#include<cstdio> typedef long long ull; static const ull pot[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; int main(){ int n; scanf("%i", &n); ull pop = 0; ull ld = 0; ull r = 0; ull licznik = 0; for(int i = 0; i < n; ++i){ ull a; scanf("%lli", &a); ull dod = 0; while(a + pot[dod] - 1 < pop && a < pot[9]){ a*= 10; ++dod; } //printf("dod = %lli\na = %lli\npop = %lli\nld = %lli\n", dod, a, pop, ld); if(a > pop){ r = 0; } else if(a + pot[dod] - 1 < pop){ ld = ld + 1; r = 0; } else{ if(a + pot[dod] - 1 == pop){ if(ld < 10 && r == pot[ld] - 1){ r = 0; ld = ld + 1; } else{ a = a + pot[dod] - 1; ++r; } } else{ if(ld < 10 && r == pot[ld] - 1){ r = 0; a = pop + 1; } else{ a = pop; ++r; } } } licznik += ld + dod; pop = a; while(pop < pot[9] && ld){ --ld; pop *= 10; } if(ld < 10){ pop += r / pot[ld]; r%= pot[ld]; } //printf("%lli\n", pop * pot[ld] + r); } printf("%lli\n", licznik); }
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 67 68 69 70 71 72 73 74 75 | #include<cstdio> typedef long long ull; static const ull pot[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; int main(){ int n; scanf("%i", &n); ull pop = 0; ull ld = 0; ull r = 0; ull licznik = 0; for(int i = 0; i < n; ++i){ ull a; scanf("%lli", &a); ull dod = 0; while(a + pot[dod] - 1 < pop && a < pot[9]){ a*= 10; ++dod; } //printf("dod = %lli\na = %lli\npop = %lli\nld = %lli\n", dod, a, pop, ld); if(a > pop){ r = 0; } else if(a + pot[dod] - 1 < pop){ ld = ld + 1; r = 0; } else{ if(a + pot[dod] - 1 == pop){ if(ld < 10 && r == pot[ld] - 1){ r = 0; ld = ld + 1; } else{ a = a + pot[dod] - 1; ++r; } } else{ if(ld < 10 && r == pot[ld] - 1){ r = 0; a = pop + 1; } else{ a = pop; ++r; } } } licznik += ld + dod; pop = a; while(pop < pot[9] && ld){ --ld; pop *= 10; } if(ld < 10){ pop += r / pot[ld]; r%= pot[ld]; } //printf("%lli\n", pop * pot[ld] + r); } printf("%lli\n", licznik); } |