#include <bits/stdc++.h> using namespace std; int n, x=0, cur=0; int ten[]={1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i=0; i<n; i++){ int a; cin>>a; if(a>=cur){ cur=a; continue; } string sCur=to_string(cur); string sA=to_string(a); bool lngr, pref=true; for(int j=0; j<sA.length(); j++){ if(sCur[j]>sA[j]){ pref=false; lngr=true; break; } if(sCur[j]<sA[j]){ pref=false; lngr=false; break; } } if(pref){ x+=sCur.length()-sA.length(); continue; } if(lngr){ x+=sCur.length()-sA.length()+1; cur=a*ten[sCur.length()-sA.length()+1]; } else{ x+=sCur.length()-sA.length(); cur=a*ten[sCur.length()-sA.length()]; } } cout<<x; }
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 | #include <bits/stdc++.h> using namespace std; int n, x=0, cur=0; int ten[]={1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i=0; i<n; i++){ int a; cin>>a; if(a>=cur){ cur=a; continue; } string sCur=to_string(cur); string sA=to_string(a); bool lngr, pref=true; for(int j=0; j<sA.length(); j++){ if(sCur[j]>sA[j]){ pref=false; lngr=true; break; } if(sCur[j]<sA[j]){ pref=false; lngr=false; break; } } if(pref){ x+=sCur.length()-sA.length(); continue; } if(lngr){ x+=sCur.length()-sA.length()+1; cur=a*ten[sCur.length()-sA.length()+1]; } else{ x+=sCur.length()-sA.length(); cur=a*ten[sCur.length()-sA.length()]; } } cout<<x; } |