#include <iostream> #include <cmath> using namespace std; long long r,p,n,i,j,d,w,l,a,b,c; string x,z,s,t,q; int main(){ cin >> n; for(i=0; i<n; i++){ s=""; q=""; x=z; cin >> z; if(i!=0){ r=x.length(); p=z.length(); for(j=p; j<r; j++){ s=s+x[j]; } for(j=p; j<r; j++){ q=q+'0'; } if(p<=r){ if(p==r){ if(z<=x){z=z+'0'; w++; } }else{ t=z+q; if(t<=x){ l=s.length(); w+=l; a=int(s[l-1]); a++; s[l-1]=char(a); d=1; while(d!=0){ if(s[l-1]==':'){ if(l==p){s[l-1]='0'; s+='0'; w++;}else{ s[l-1]='0'; s[l-2]++; } }else{d=0;} l--; } t=z+s; p=t.length(); if(p==r){ if(t<=x){t=z+q+'0'; w++; }else{t=z+s;} } }else{w+=q.length();} z=t; } } } } cout << w; }
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 | #include <iostream> #include <cmath> using namespace std; long long r,p,n,i,j,d,w,l,a,b,c; string x,z,s,t,q; int main(){ cin >> n; for(i=0; i<n; i++){ s=""; q=""; x=z; cin >> z; if(i!=0){ r=x.length(); p=z.length(); for(j=p; j<r; j++){ s=s+x[j]; } for(j=p; j<r; j++){ q=q+'0'; } if(p<=r){ if(p==r){ if(z<=x){z=z+'0'; w++; } }else{ t=z+q; if(t<=x){ l=s.length(); w+=l; a=int(s[l-1]); a++; s[l-1]=char(a); d=1; while(d!=0){ if(s[l-1]==':'){ if(l==p){s[l-1]='0'; s+='0'; w++;}else{ s[l-1]='0'; s[l-2]++; } }else{d=0;} l--; } t=z+s; p=t.length(); if(p==r){ if(t<=x){t=z+q+'0'; w++; }else{t=z+s;} } }else{w+=q.length();} z=t; } } } } cout << w; } |