#include<iostream> #include<string> using namespace std; int pot(int x){ int n=1; for(int i=0;i<x;i++)n*=10; return n; } int s_diff(int a, int b){ int a1,b1; string A=to_string(a); string B=to_string(b); a1=A.size(); b1=B.size(); return b1-a1; } int main(){ int n,c,c0,c1,c2,s,d,e,f; c0=0;s=0; cin>>n; for(int i=0;i<n;i++){ cin>>c; if(c>c0){ c0=c; continue; } d=s_diff(c,c0); if(d==0){ c0=10*c; s++; continue; } e=pot(d); c1=e*c; if(c1>c){ c0=c1; s+=d; continue; } c0=c+1; if(s_diff(c,c0)==0)s+=d; else s=s+d+1; } cout<<s<<endl; return 0; }
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 | #include<iostream> #include<string> using namespace std; int pot(int x){ int n=1; for(int i=0;i<x;i++)n*=10; return n; } int s_diff(int a, int b){ int a1,b1; string A=to_string(a); string B=to_string(b); a1=A.size(); b1=B.size(); return b1-a1; } int main(){ int n,c,c0,c1,c2,s,d,e,f; c0=0;s=0; cin>>n; for(int i=0;i<n;i++){ cin>>c; if(c>c0){ c0=c; continue; } d=s_diff(c,c0); if(d==0){ c0=10*c; s++; continue; } e=pot(d); c1=e*c; if(c1>c){ c0=c1; s+=d; continue; } c0=c+1; if(s_diff(c,c0)==0)s+=d; else s=s+d+1; } cout<<s<<endl; return 0; } |