미하우의 침실에는 서랍이 n개 달린 수납장이 있다. 각 서랍은 저마다 어떤 길이만큼 밖으로 빠져나와 있다. 미하우는 매번 서랍을 잡아당기지 않고도 모든 서랍에 바로 접근할 수 있기를 바란다.
어떤 서랍에 바로 접근할 수 있다는 것은, 그 서랍보다 위에 있는 모든 서랍이 그 서랍보다 덜 빠져나와 있다는 뜻이다. 미하우는 서랍을 밀어 넣기만 하기로 했다(즉, 빠져나온 길이를 줄이기만 한다). 모든 서랍에 바로 접근하려면 최소 몇 개의 서랍을 밀어 넣어야 하는지 궁금하다.
빠져나온 길이가 0인 서랍에는 접근할 수 없다고 하며, 서랍이 빠져나온 길이는 항상 정수여야 한다.
첫째 줄에 서랍의 개수를 나타내는 정수 n (1≤n≤106)이 주어진다. 둘째 줄에는 n개의 정수 a1,a2,…,an (1≤ai≤109)이 주어지며, ai는 (수납장 위에서부터 세었을 때) i번째 서랍이 빠져나온 길이를 뜻한다.
모든 서랍에 바로 접근할 수 있도록 미하우가 밀어 넣어야 하는 서랍의 최소 개수를 첫째 줄에 정수 하나로 출력한다. 불가능하다면 −1을 출력한다.
예를 들어 서랍이 위에서부터 8,4,7,6,8만큼 빠져나와 있다면, 첫 번째와 세 번째 서랍을 밀어 넣어 1,4,5,6,8로 만들 수 있다. 이렇게 하면 위에서 아래로 갈수록 빠져나온 길이가 계속 커지므로 모든 서랍에 바로 접근할 수 있고, 밀어 넣은 서랍은 2개다.