import time
start = time.time()
N = 51
V = [int("1" * i) if i > 0 else 0 for i in range(N + 1)]
base = [set() for i in range(N + 1)]
base[0].add(0)
vis = {0 : 0}
for i in range(1, 30):
for j in range(i):
for k in base[j]:
for v in [k + V[i - j], abs(k - V[i - j])]:
if v not in vis:
base[i].add(v)
vis[v] = i
s = input()
n = int(s)
ans = sum(((len(s) - i) + (len(s) - i - 1)) * int(s[i]) for i in range(len(s)))
def solve(x, steps):
global ans
x = abs(x)
if time.time() - start > 2.9:
print(ans)
exit(0)
if x in vis:
ans = min(ans, steps + vis[x])
return
for i in range(50, 1, -1):
if V[i] <= x:
if steps + i >= ans:
return
y, stp = x, steps
while y >= V[i]:
y -= V[i]
stp += i
p1 = (y, stp)
y, stp = abs(x - V[i + 1]), steps + i + 1
cnt = 0
while y >= V[i]:
y -= V[i]
stp += i
cnt += 1
if cnt > 4:
solve(*p1)
return
p2 = (y, stp)
if p1[1] > p2[1]:
p1, p2 = p2, p1
solve(*p1)
solve(*p2)
return
solve(n, 0)
print(ans)
exit(0)
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |