Efficient Exchange
1 #include <iostream> 2 #include <cmath> 3 #include <string> 4 using namespace std; 5 int main() 6 { 7 int n[10000]; 8 string c; 9 cin>>c; 10 int i=c.size(); 11 for(int j=0;j<i;j++) 12 { 13 n[j+1]=c[j]-'0'; 14 } 15 long long s=0; 16 int a; 17 i++; 18 while(i--) 19 { 20 a=n[i]; 21 if(a>=5) 22 { 23 if((n[i-1])==9) 24 { 25 n[i-1]=0; 26 n[i-2]++; 27 } 28 else if(n[i]==5&&n[i-1]<5) 29 { 30 n[i-1]; 31 } 32 else n[i-1]++; 33 s+=10-a; 34 } 35 else 36 { 37 s+=a; 38 } 39 } 40 41 cout<<s; 42 }