显然每一位的限制独立,对于每一位求出仅限制该位下的最大数,然后求最小值即可. 假设当前要求数字$d$的答案: 考虑填数字的过程,可以看作依次考虑一个序列中的每个数,当前缀和$<0$时退出. 设$dp[i][j][k]$表示正在考虑最低的$i$位,高位部分有$j$个$d$,第$i$位能不能填$0$为$k$时,所有可能的数字形成的序列的信息. 这个信息需要维护两个值: $f$:前缀和最小值. $s$:总和. 显然这个信息可以进行合并. 求出答案的位数后,再从高到低逐位确定即可. 时间复杂度$O(\l…