#P17355. [ECNA 2024] Average Substring Value

[ECNA 2024] Average Substring Value

Problem Description

Let ss be a nonempty string consisting entirely of base-10\textrm{base-}10 digits (0--9). If the length of ss is n,n, number the digits 1,2,3,…,n1, 2, 3, \ldots, n from left to right, and for 1≤i≤j≤n,1 \leq i \leq j \leq n, let s[i,j]s[i,j] denote the substring consisting of the digits from position i\textrm{position}~i to position j,\textrm{position}~j, inclusive. (It follows that we are only considering nonempty substrings.) Assign a value to each substring that is simply equal to the largest digit in the substring. What is the average value of the substrings of s\textrm{of}~s?

Note that two different substrings may be identical (as strings), but for the purposes of this problem they are treated as distinct. For example, if s=1010,s = \texttt{1010}, then s[1,2]=s[3,4]=10s[1,2] = s[3,4] = \texttt{10} are distinct substrings (both with value 1).\textrm{value}~1).

Input Format

The input is a single nonempty string, s,s, of base-10\textrm{base-}10 digits. The length of ss is at most 200 000.200\,000.

Output Format

Output a line containing the average value of the substrings of s.s. If the average is an integer, print the integer. If the average is a proper fraction, i.e., is equal to a/b,a/b, where aa and bb are positive integers and a<ba < b, print this fraction in lowest terms, with a '/' symbol separating the numerator and denominator. If the average is greater than 1\textrm{than}~1 and does not simplify to an integer, print the whole part followed by the proper fractional part, separated by a space, with the proper fractional part in lowest terms and formatted as described in the previous sentence.

123
2 1/3
4084
6
1010
4/5
00000
0