아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

도미노 수열

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

요약
첫 원소를 뺀 나머지 원소가 앞서 고른 원소들의 합 이하가 되는 부분 수열 중 가장 긴 것의 길이를 구한다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 누적 합, 이분 탐색
정답자
아직 제출이 없습니다

문제

길이가 NN인 수열 a_1,a_2,⋯ ,a_Na\_1,a\_2,\cdots ,a\_N이 주어질 때, 이 수열의 부분 수열 b_1,b_2,⋯ ,b_M(1≤M≤N)b\_1,b\_2,\cdots ,b\_M(1\le M\le N)이 도미노 수열이 되려면 다음과 같은 조건을 만족해야 한다.

\[b_1,b_2,\cdots ,b_M(b_i\le\displaystyle\sum_{j=1}^{i-1}b_j,2\le i\le M)\]

주어진 수열의 부분 수열 중 도미노 수열의 최대 길이를 구해보자.

입력

첫째 줄에 정수 N(1≤N≤200,000)N(1\le N\le 200\\, 000)이 주어진다.

둘째 줄에 정수 a_1,a_2,⋯ ,a_N(1≤a_i≤109)a\_1,a\_2,\cdots ,a\_N(1\le a\_i\le 10^9)이 공백으로 구분되어 주어진다.

출력

주어진 수열의 부분 수열 중 도미노 수열의 최대 길이를 출력한다.

힌트

부분 수열이란 주어진 수열에서 11개 이상의 원소를 골라 원래 순서대로 나열한 수열이다.

예제5

  1. 예제 1

    입력
    6
    2 3 1 9 4 3
    
    예상 출력
    4
    
  2. 예제 2

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

    입력
    7
    3 1 7 4 11 12 13
    
    예상 출력
    5
    
  4. 예제 4

    입력
    4
    3 1 2 6
    
    예상 출력
    4
    
  5. 예제 5

    입력
    3
    1 2 3
    
    예상 출력
    1