#P15919. [TOPC 2023] Cutting into Monotone Increasing Sequence

[TOPC 2023] Cutting into Monotone Increasing Sequence

题目描述

A monotone sequence is a sequence of numbers that either consistently increases or consistently decreases as you move along the sequence. In other words, it exhibits a consistent trend in either an upward or downward direction.

In a monotone increasing sequence, each term in the sequence is greater than or equal to the preceding term. Mathematically, for a sequence a1,,ana_1, \dots, a_n, it is monotone increasing if and only if for every 1i<n1 \le i < n, aian+1a_i \le a_{n+1}. For example, the sequence 1,2,2,4,51, 2, 2, 4, 5 is a monotone increasing sequence because each term is greater than or equal to the previous term.

Monotone sequences are important in various areas of mathematics, including calculus and analysis, as they often simplify the analysis of functions and their behavior. They provide a clear and consistent trend that makes it easier to understand the behavior of a sequence or a function over a range of values.

One of our problem setters is fond of big integers. Over the past few years, the Taiwan Online Programming Contest has frequently featured problems involving big integers. This time, we have a problem that combines big integers with monotone increasing sequences. Your task is to transform a big integer, denoted as xx, into a monotone increasing sequence by inserting commas ‘,’ into the gaps between its digits, while adhering to following constraints.

  • The last term of the monotone increasing sequence is no more than bb.
  • Commas cannot be inserted before a zero.
  • The number of commas is minimized.

Let’s assume that xx is an integer with kk digits and is represented as d1d2dkd_1 d_2 \cdots d_k. For instance, if we have x=654321=d1d2d6x = 654321 = d_1 d_2 \cdots d_6 and b=1000b = 1000, we can insert commas into gaps after d3d_3 and d5d_5 to convert xx into the following monotone increasing sequence: 6,54,3216, 54, 321.

Please write a program to compute the minimum number of commas required to transform a given big integer xx into a monotone increasing sequence consisting of numbers no more than a given integer bb. If there is no way to transform, please print ‘NO WAY’.

输入格式

The input contains two non-negative integers xx and bb.

输出格式

Print the minimum number of commas required to transform xx into a monotone increasing sequence consisting of numbers no more than bb. If there is no way to transform, please print ‘NO WAY’ without quotes.

654321 1000
2
654321 100
NO WAY

提示

  • x10100000x \le 10^{100000}
  • b<264b < 2^{64}
  • There is no leading zero if x>0x > 0.