func_code_string: #include <bits/stdc++.h>   using namespace std;   long long E[50];   int get_len(long long s) {     int cnt(0);     while (s) cnt++, s /= 10;     return cnt;   }   int find(long long n, int l) {     if (n == 0) return 0;     int len = get_len(n);     if (n < E[l]) {       return min(find(n, l - 1), find(E[l] - n, l - 1) + l);     }     int k;     for (k = 1;; k++)       if (E[l] * k > n) break;     k--;     return find(n - E[l] * k, l) + k * l;   }   int main() {     E[1] = 1;     for (int i = 2; i < 20; i++) E[i] = E[i - 1] * 10 + 1;     long long n;     while (cin >> n) {       int len = get_len(n);       cout << min(find(n, len), find(E[len + 1] - n, len) + len + 1) << endl;     }   }   