시간 제한
메모리 제한
시간 제한
7초
메모리 제한
16 MB
메모리 제한에 유의하세요.
2077년, 신경계에 연결해 움직임을 빠르게 하는 기계 장치 '산데비스탄'이 개발되었다. 산데비스탄을 만들려면 광물 X가 꼭 필요하지만, 이 광물은 매우 비싸다. 어느 날 광물 X 대신 훨씬 저렴한 광물 Y를 사용해 같은 장치를 만드는 방법이 발견되었고, 여러 회사가 광물 Y를 채굴하기 위해 뛰어들었다.
광물 Y가 묻힌 광맥은 좌우로 길게 뻗은 일직선이다. 광맥은 총 N개의 칸으로 이루어져 있고, 왼쪽에서 i번째 칸에는 Ai만큼의 광물이 매장되어 있다. 첫 번째 칸(i=1)은 이미 통로로 개발되어 더 이상 광물이 없으므로 A1=0이다.
광물을 채굴하려면 장비가 필요하다. 장비 하나는 설치된 칸의 바로 오른쪽에서 시작하는 연속한 1개 이상 3개 이하의 칸에 있는 광물을 모두 채굴할 수 있다. 장비는 반드시 채굴 구간의 맨 왼쪽 칸 바로 왼쪽 칸에 설치해야 한다. 안전 규정상 장비가 설치된 칸의 광물은 채굴할 수 없고, 이미 다른 장비가 채굴하는 칸 위에도 장비를 설치할 수 없다.
총 광물 매장량을 S=∑i=1NAi라고 하자. 0.75S 이상의 광물을 채굴할 수 있는지 판별하고, 가능하다면 장비를 어떻게 설치하고 어떤 칸을 채굴할지 출력하라.

첫 번째 예시를 시각화한 그림이다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. (1≤T≤100000)
각 테스트 케이스마다 첫째 줄에 광맥의 길이 N이 주어진다. (1≤N≤20772077)
둘째 줄에는 각 칸에 묻힌 광물의 양 A1,A2,…,AN이 공백으로 구분되어 주어진다. (0≤Ai≤100,A1=0)
모든 테스트 케이스에서 N의 합은 20772077을 넘지 않는다.
각 테스트 케이스마다 0.75S 이상의 광물을 채굴할 방법이 없다면 첫 줄에 NO를 출력한다.
방법이 있다면 첫 줄에 YES를 출력한다. 둘째 줄에는 0, 1, 2, 3으로 이루어진 길이 N의 문자열을 출력한다.
i번째 칸이 채굴되지 않았다면 문자열의 i번째 문자는 0이다. i번째 칸이 채굴되었고, 그 칸을 채굴한 장비의 채굴 구간 길이가 k라면 문자열의 i번째 문자는 k이다.
이 문제는 SNUPC 2024의 히든 문제였다. 대회 포스터의 오른쪽 아래를 참고하라.