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.

Input

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.

Output

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.

Example

Input:
8
1 4 2 3 3 2 4 1
12
7 8 1 2 4 6 3 5 2 1 8 7
-1

Output:
0
2

hide comments
f00zz: 2019-03-16 22:33:03

Forget about trying to solve it in Python...

eagleshadow: 2019-02-28 20:08:10

Very nice problem

sherlock11: 2018-05-31 16:14:22

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"

learnerinblack: 2018-05-30 12:57:57

What's problem with LIS/LDS?

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 .. :) !!


Added by:Pablo Ariel Heiber
Date:2010-08-22
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