BORW - Black or White
“It’s Black, It’s White, It’s Tough For You To Get By”
Michael Jackson (1958-2009)
You have a sequence of integers. You can paint each of the integers black or white, or leave
it unpainted. The black integers must appear in ascending order and the white integers
must appear in descending order. The ascending/descending order must be strict, that
is, two integers painted with the same color cannot be equal. Paint the sequence so as to
minimize the number of unpainted integers.
The input contains several test cases, each one described in exactly two lines. The first line
contains an integer N indicating the number of elements in the sequence (1 ≤ N ≤ 200).
The second line contains N integers Xi separated by single spaces, representing the
sequence to paint (1 ≤ Xi ≤ 106 for 1 ≤ i ≤ N ). The last line of the input contains a
single −1 and should not be processed as a test case.
For each test case output a single line with an integer representing the minimum number
of unpainted elements of the sequence, when the sequence is painted optimally following
the rules described above.
1 4 2 3 3 2 4 1
7 8 1 2 4 6 3 5 2 1 8 7
AC in 1 go !!
I need more help on this. I constructed a backtracking solution but it's getting tle. Any hint how shuld I optimize it. My recursive function does not return therefore I am not able to do any memorization.
what about Palindromic Pattern ?
weak test cases
AC in one Go => 1.91 s
Forget about trying to solve it in Python...
Very nice problem
i think problem with LIS/LDS is that an array may have more than one LIS/LDS hence simply finding LIS and LDS will result in WA...instead think that each element can be included either in increasing sequence or decreasing sequence or not include it at all.............by the way i have special place for MJ in my heart.. we both share same birthday......."RIP MJ"
What's problem with LIS/LDS?
“It’s Black, It’s White, It’s Tough For You To Get By”....... indeed it was.....a silly mistake wasted many hours :/