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
/*{{{*/
#include <bits/stdc++.h>
#ifdef LOCAL
int c_;
#define cout (c_?cerr:cout)
#define debug(...) {cerr<<(c_?"":"\033[96;1m");\
++c_;__VA_ARGS__;--c_;cerr<<(c_?"":"\033[0m");}
#else
#define debug(...) {}
#endif
#define st first
#define nd second
#define all(...) begin(__VA_ARGS__), end(__VA_ARGS__)
#define dump(...) debug(print(#__VA_ARGS__" =", __VA_ARGS__))
#define dump_range(...) debug(cerr<<#__VA_ARGS__": ";print_range(__VA_ARGS__);)
using namespace std;
template< typename t >
using V = vector< t >;
using ll = long long;
using ld = long double;
void print(){cout<<'\n';}
template< typename t, typename... v >
void print(const t& a, const v&... b)
{cout<<a<<(sizeof...(b)?" ":"");print(b...);}
template< typename t >
void print_range(t a, const t& b)
{while (a!=b) cout<<(*a++)<<' ';cout<<'\n';}
/*}}}*/

constexpr ll stala = 1e16;

int main()
{
    dump(stala);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n; ll res = 0, p = 0;
    int alw = 0;
    cin >> n;
    while (n--)
    {
        ll v; cin >> v;
        res += alw;
        ll lo = v, hi = v;
        while (p >= hi)
        {
            ++res, 
            hi *= 10, lo *= 10;
            hi += 9;
        }
        if (lo > p)
            p = lo;
        else
            p = p + 1;
        dump(p);
        if (p >= stala) 
        {
            ++alw; p /= 10;
        }
    }
    print(res);
}