만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

게으르게 이기기

면접 대비

시간 제한1초메모리 제한1024 MB

요약
문제 n개의 배점이 주어질 때, 전체 점수의 절반 이상을 얻기 위해 연속된 문제를 최대 하나까지 건너뛰며 풀어야 하는 최소 문제 수를 구합니다.
난이도

보통10점 중 4점

유형
슬라이딩 윈도우, 누적 합, 배열
정답자
아직 제출이 없습니다

문제

알렉세이는 세상에서 아마 가장 똑똑하면서 동시에 가장 게으른 사람이다. 오늘 그는 올림피아드에 참가한다.

올림피아드에서는 참가자에게 nn개의 문제가 주어진다. 참가자가 ii번째 문제를 맞히면 aia_i점을 받는다. 틀린 풀이에는 점수가 없다. 전체 점수의 절반 이상을 받은 참가자는 입상 증서를 받는다. 예를 들어 문제가 1점, 3점, 4점짜리 세 개라면 입상 증서를 받으려면 4점이 필요하다.

알렉세이는 입상 증서를 받기 위해 올림피아드에 왔다. 그는 어떤 문제든 정확히 풀 수 있다. 하지만 매우 게을러서 가능한 한 적은 문제만 풀고 싶어 한다.

그는 풀 문제도 게으르게 고른다. 문제 번호 kk를 하나 고른 뒤, 입상 증서를 받는 데 충분한 점수가 모일 때까지 k,k+1,k+2,…k, k+1, k+2, \ldots 번 문제를 차례로 푼다. 그는 문제를 한 개까지 건너뛸 수 있다. 건너뛰면 결국 푸는 문제 수가 줄어드는 경우에 한해서다.

이 전략으로 입상 증서를 받기 위해 알렉세이가 풀어야 하는 문제 수의 최솟값을 구하라.

입력

첫 번째 줄에 문제의 개수 nn이 주어진다 (1≤n≤1051 \le n \le 10^5).

두 번째 줄에는 각 문제의 점수 a1,a2,…,ana_1, a_2, \ldots, a_n이 nn개의 정수로 주어진다 (1≤ai≤1091 \le a_i \le 10^9).

출력

첫 번째 줄에 알렉세이가 이 전략으로 입상 증서를 받기 위해 풀어야 하는 문제 수의 최솟값을 정수 하나로 출력한다.

힌트

첫 번째 예제에서 참가자는 입상 증서를 받으려면 최소 4점이 필요하다. 알렉세이는 세 번째 문제부터 풀기 시작해 네 번째 문제를 건너뛰고, 두 문제를 풀어 4점을 얻을 수 있다.

두 번째 예제에서는 두 번째 문제만 풀어 3점을 얻으면 충분하다.

예제2

  1. 예제 1

    입력
    5
    1 1 2 1 2
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    2 3 1
    
    예상 출력
    1