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