Lösen Sie das Problem der Dichotomie.
Probieren Sie alle verkauften Ganzzahlen aus und Sie erhalten eine TLE. Daher müssen wir den Rechenaufwand gut reduzieren, daher verwenden wir die Dichotomie. Die Dichotomie ist eine Methode zur Suche nach der gewünschten Lösung durch Eingrenzen des Bereichs von beiden Enden. Detaillierte Erklärung. Der Rechenaufwand für die Dichotomie beträgt $ O (log N) $, also ist es rechtzeitig.
a,b,x = map(int,input().split())
max_n = 10**9+1 #Der Maximalwert von n ist 10**Weil es 9 ist+1
min_n = 0
while max_n - min_n > 1:
mid_n = (max_n+min_n)//2
if x < a*(mid_n)+b*len(str(mid_n)):
max_n = mid_n
else:
min_n = mid_n
print(min_n)
Wenn Sie die Dichotomie gut anwenden können, können Sie den Rechenaufwand erheblich reduzieren, daher möchte ich sie beherrschen. wir sehen uns.
Recommended Posts