#HT1016. 数列分段2

数列分段2

题目描述

给你一个由区间 [l,r][l,r] 范围内的所有整数构成的数列 l,l+1,l+2,,rl, l+1, l+2, \ldots, r,你需要将数列分成连续的若干段,使得每一段中所有数字的数位和之和都 k\ge k

问:最多能够分成多少段?

说明:本题中,一个数的数位和指的是它的十进制表示中各位上的数字之和。比如:123123 的数位和为 1+2+3=61+2+3 = 6365365 的数位和为 3+6+5=143+6+5=14

输入格式

输入共一行,包含三个整数 l,r,kl,r,k,两两之间以一个空格分隔(1lr1018,1k10001 \le l \le r \le 10^{18}, 1 \le k \le 1000)。

输出格式

[l,r][l,r] 范围内的所有数的数位和之和 <k\lt k,输出 00
否则,输出一个整数,表示这些数最多能够分成连续的多少段,且满足每一段中所有数的数位和之和 k\ge k

样例

1 10 5
6
21 35 100
0
40 218 57
29

样例解释

  • 样例1:[1,3][1,3], [4,5][4,5], [6,6][6,6], [7,7][7,7], [8,8][8,8], [9,10][9,10]
  • 样例2:整段 [21,35][21, 35] 范围内的数字的数位和之和(9696)都没有达到 100100
  • 样例3:[1,47][1,47], [48,54][48,54], [55,59][55,59], [60,66][60,66], [67,71][67,71], [72,77][72,77], [78,82][78,82], [83,87][83,87], [88,92][88,92], [93,97][93,97], [98,106][98,106], [107,116][107,116], [117,125][117,125], [126,132][126,132], [133,138][133,138], [139,145][139,145], [146,151][146,151], [152,157][152,157], [158,163][158,163], [164,168][164,168], [169,174][169,174], [175,178][175,178], [179,183][179,183], [184,187][184,187], [188,192][188,192], [193,196][193,196], [197,201][197,201], [202,209][202,209], [210,218][210,218]

数据范围

  • 对于 10%10\% 的数据,1lr1001 \le l \le r \le 100
  • 对于 20%20\% 的数据,1lr10001 \le l \le r \le 1000
  • 对于 40%40\% 的数据,1lr1091 \le l \le r \le 10^9
  • 对于 100%100\% 的数据,1lr1018,1k10001 \le l \le r \le 10^{18}, 1 \le k \le 1000