思路
首先直接用搜索做是会超时的。
首先你至少要按 s 的长度次按钮保证长度达到。
那么我们考虑用一个变量 t,反过来遍历 s 来求出集体加的最少次数。
令 c = t \\bmod 10,如果 c 小于当前的 s_i,那么 t 就加上 t-c,否则就加上 t-c+10。
最后答案就是 t 加上 s 的长度。
代码
```cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
cin >> s;
long long tt = 0;
for (long long i = s.size() - 1; i >= 0; i -- ){
long long t = s[i] - '0';
long long c = tt % 10;
long long cc;
if (c <= t){
cc = tt - c + t;
}
else{
cc = tt - c + 10 + t;
}
tt = cc;
}
cout << tt + s.size();
return 0;
}
```