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