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
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;
    string a,b;
    cin >> a;
    //cout << a<<endl;;
    long long sum = 0;
    for(int i = 1; i < n; i++){
        cin >> b;
        if(a.size() < b.size()){
            swap(a, b);
            //cout << a << endl;
            continue;
        }else if(a.size() == b.size()){
            int ok = 0;
            for(int j = 0; j < a.size(); j++){
                if(a[j] > b[j]){
                    ok=1;
                    break;
                }else if(a[j] < b[j]){
                    ok=-1;
                    break;
                }
            }
            if(ok == 1 ||ok==0){
                b+='0';
                sum++;
            }
            swap(a, b);
           // cout << a << endl;
        }else{ //b - krotsze
            int ok = 0;
            for(int j = 0; j < b.size(); j++){
                if(a[j] > b[j]){
                    ok=1;
                    break;
                }else if(a[j] < b[j]){
                    ok=-1;
                    break;
                }
            }
            if(ok==1){
                int g =  a.size()-b.size();
                for(int j = 0; j <=g; j++){
                    b+="0";
                    sum++;
                }
            }else if(ok ==-1){
                int g =  a.size()-b.size();
                for(int j = 0; j <g; j++){
                    b+="0";
                    sum++;
                }
            }else{
                int g = b.size();
                //cout << "g: " << g << endl;
                int ok =0;
                for(int j = 0; j<g; j++){
                    a.erase(a.begin());
                }

                //cout << a << endl << endl;
                int poz;//=a.size()-1;
                for(int j=a.size()-1; j>=0; j--){
                    if(a[j] != '9'){
                            //cout<<a.size() << " " << a[j] << " ";
                        poz=j;
                        ok=1;
                        break;
                    }
                }
                if(ok==0){
                    for(int j =0; j <= a.size(); j++){
                        b+="0";
                        sum++;
                    }
                }else{
                    for(int j = 0; j < poz; j++){
                            //cout << b << " " << a[j] <<";"<< endl ;
                        b+=a[j];
                        sum++;
                    }
                    char c = a[poz];
                    //cout << a[poz-1] << " ";
                    c++;
                    //cout << c << " ";
                    b+=c;
                    sum++;
                    for(int j = poz+1; j<a.size(); j++){
                        b+=a[j];
                        sum++;
                    }
                }
            }

            swap(a, b);
            //cout << a << endl;
        }
    }
    cout << sum;
    return 0;
}