// ABC 146 C - Buy an Integer // https://atcoder.jp/contests/abc146/tasks/abc146_c public static int BuyInteger(long a, long b, long x) => BinarySearch.Last(n => a * n + b * n.ToString().Length <= x, 0, 1000000000);
// Array.BinarySearch メソッドと異なる点: 一致する値が複数存在する場合は最後のインデックス。 public static int LastIndexOf(IList <int> a, int v) { var r = BinarySearch.Last(i => a[i] <= v, -1, a.Count - 1); return(r >= 0 && a[r] == v ? r : ~(r + 1)); }