#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); } |
English