#include <bits/stdc++.h>
using namespace std;
int main()
{
   ios_base::sync_with_stdio(0);
  /* string t,w;
   cin>>t>>w;
   for(int i=0;i<1000000;i++){
    t+=w;
    if(i%100==0)t='0';
   }*/
int n;
cin>>n;
long long wynik=0;
string last;
cin>>last;
int p=last.size();
for(int i=1;i<n;i++){
    string a;
    cin>>a;
    if(a.size()>last.size()){
        last=a;
    }
    else{
         int j=0;
    while(a[j]==last[j]&&j<a.size()){
        last[j]=a[j];
        j++;
    }
    if(j==a.size()){
        int k=last.size()-1;
        while(last[k]=='9'&&k>=a.size()){
            last[k]='0';
            k--;
        }
        if(k>=a.size())last[k]++;
        else{
            last+='0';
        }
        wynik+=(long long)(last.size()-a.size());
    }
    else if(a[j]>last[j]){
        while(j<a.size()){
            last[j]=a[j];
            j++;
        }
        while(j<p){
            last[j]='0';
            j++;
        }
        j=last.size()-1;
        while(j>(int)last.size()-11&&j>=a.size()&&j>=p){
            last[j]='0';
            j--;
        }
        wynik+=(long long)(last.size()-a.size());
    }
    else{
        while(j<a.size()){
            last[j]=a[j];
            j++;
        }
        while(j<p){
            last[j]='0';
            j++;
        }
        j=last.size()-1;
        while(j>(int)last.size()-11&&j>=a.size()&&j>=p){
            last[j]='0';
            j--;
        }
        last+='0';
        wynik+=(long long)(last.size()-a.size());
    }
    }
    p=a.size();
}
cout<<wynik;
}
        | 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 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); /* string t,w; cin>>t>>w; for(int i=0;i<1000000;i++){ t+=w; if(i%100==0)t='0'; }*/ int n; cin>>n; long long wynik=0; string last; cin>>last; int p=last.size(); for(int i=1;i<n;i++){ string a; cin>>a; if(a.size()>last.size()){ last=a; } else{ int j=0; while(a[j]==last[j]&&j<a.size()){ last[j]=a[j]; j++; } if(j==a.size()){ int k=last.size()-1; while(last[k]=='9'&&k>=a.size()){ last[k]='0'; k--; } if(k>=a.size())last[k]++; else{ last+='0'; } wynik+=(long long)(last.size()-a.size()); } else if(a[j]>last[j]){ while(j<a.size()){ last[j]=a[j]; j++; } while(j<p){ last[j]='0'; j++; } j=last.size()-1; while(j>(int)last.size()-11&&j>=a.size()&&j>=p){ last[j]='0'; j--; } wynik+=(long long)(last.size()-a.size()); } else{ while(j<a.size()){ last[j]=a[j]; j++; } while(j<p){ last[j]='0'; j++; } j=last.size()-1; while(j>(int)last.size()-11&&j>=a.size()&&j>=p){ last[j]='0'; j--; } last+='0'; wynik+=(long long)(last.size()-a.size()); } } p=a.size(); } cout<<wynik; } | 
 
            
         English
                    English