Note: This is an approximate problem. There is no exact solution. You must find the most optimal solution. Please, take a look at the sample explanation to ensure that you understand the problem correctly.
Given a string of length consisting of two characters (open bracket) and (close bracket) . We need to decompose into consecutive non-empty substrings such that every character is present in only one substring.
Say substrings are . Choose an array , which is a permutation of to i.e. it is of size and include every element from to .
Also, along we can choose to keep every substring as it is or in reverse order. That means you can reverse before form new string .
Now, form a new string = . A matching pair of brackets is not balanced if the set of brackets it encloses are not matched.
A string is said to be balanced if
For example : (())) is not balanced as last closing bracket is unmatched.
Suppose number of balanced substrings in is (of length greater than 1) and number of substrings among which were not reversed are .
Aim is to maximize .
Input format
Output format
Verdict and scoring
Constraints
Note: The sample provided is not a valid testcase as per the constraints, as N !=1000 and K does not lie in [50, 100]. Its just for simpler visualization.
Since we choose not to reverse any of the substrings, they remain the same.
Number of balanced substrings is 2 - () , (()).
Number of not reversed substrings is 2.