#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repi(i, a, b) for (int i = (int)(a); i < (int)(b); i++)
using namespace std;
int main(){
long long A, B, X;
cin >> A >> B >> X;
// ラムダ式
auto calc = [&](long long N){
return A * N + B * to_string(N).size();
};
// Nの最小値は1なので左端は0
// Nの最大値は10^9なので右端は10^9+1
long long left = 0;
long long right = pow(10, 9) + 1;
// 二分探索
while(right - left > 1){
long long mid = (left + right) / 2;
if (calc(mid) > X) right = mid;
else left = mid;
}
// 左端を出力
cout << left << endl;
}
コメント