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

Output: 0

hide comments
amulyagaur: 2017-12-11 11:21:28

“It’s Black, It’s White, It’s Tough For You To Get By”....... indeed it was.....a silly mistake wasted many hours :/

holmesherlock: 2017-10-27 22:05:20

think recursion ,,think 3d

kshubham02: 2017-08-31 08:18:26

2.74s in C++... is this what everyone is getting??
Those in need of hints, this is NOT an LIS/LDS problem, think recursively.

shubham_001: 2017-08-14 16:51:51

RIP MJ , talented guy :(

babur: 2017-06-12 08:39:39

Think 3D...

and_roid: 2017-05-27 07:37:51

My 100th .. :) !!

wk1948: 2017-05-27 02:57:14

Not very hard but interesting problem

anupamwadhwa: 2017-05-03 22:32:50

My first 3D-DP problem. Great Problem..!!

omprakash_40: 2017-04-23 13:29:28

nice problem . finally AC.
think about taking each element as painting white or paiting black or ignore.
make a 3D dp array and formulate recursion.

omprakash_40: 2017-04-23 13:27:46

i have also thought the same logic as your. But after sometime i pointed out that it was incorrect logic.
the main problem in logic that , while calculating LIS there may be a chance so that there are more than one LIS of maximum length. in that case there may be a chance for incorrectness . think again ?

Added by:Pablo Ariel Heiber
Time limit:9.584s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS OBJC PERL6 VB.NET
Resource:FCEyN UBA ICPC Selection 2009