문제 3679 · 비트 II
접수 장부의 목표 번호
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 마을의 우체국은 새 접수 장부를 사용하기 시작했다. 이 장부에는 사용을 시작한 첫날부터 접수한 소포의 수를 날짜별로 기록한다. 장부를 사용하기 전에 접수한 소포는 이번 집계에 포함하지 않으므로, 첫날 업무를 시작하기 직전의 누적 접수 수는 0이다. 우체국 직원은 누적 접수 수가 목표 K개에 처음 도달하는 날을 찾아 장부에 표시하려 한다. 장부에는 연속된 N일의 기록이 있으며, 날짜는 기록된 순서대로 1일부터 N일까지 번호를 붙인다. i일에 새로 접수한 소포의 수는 A_i개다. 접수한 소포를 당일에 다른 곳으로 발송하더라도 누적 접수 수에서 빼지 않는다. 따라서 i일 업무가 끝났을 때의 누적 접수 수는 1일부터 i일까지 접수한 소포 수를 모두 더한 값이다. 소포를 하나도 접수하지 않은 날에는 A_i가 0이며, 그날의 누적 접수 수는 전날과 같다. 목표 달성 여부는 각 날짜의 업무가 모두 끝난 뒤 확인한다. 누적 접수 수가 K와 정확히 같아진 날뿐 아니라, K보다 커진 날에도 목표를 달성한 것으로 본다. 하루 동안 여러 소포를 접수하여 목표를 한꺼번에 넘어가더라도 그날의 날짜 번호를 사용한다. 하루 중 몇 번째 소포에서 목표에 도달했는지는 구하지 않는다. 기록된 여러 날의 누적 접수 수가 모두 K 이상일 수 있다. 이 경우에는 그중 날짜 번호가 가장 작은 날 하나만 답으로 정한다. 첫날부터 목표를 달성했다면 답은 1이다. 마지막 날의 업무가 끝날 때까지 누적 접수 수가 K보다 작다면, 주어진 기록 안에는 목표를 달성한 날이 없으므로 0을 출력한다. 기록 밖의 날짜에 접수할 소포 수는 예상하지 않는다. N일의 접수 기록을 보고 장부에 표시할 날짜 번호를 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 N과 K가 공백으로 구분되어 주어진다. 둘째 줄에 정수 A_1, A_2, ..., A_N이 공백으로 구분되어 주어진다. 1 ≤ N ≤ 1,000, 1 ≤ K ≤ 1,000,000, 0 ≤ A_i ≤ 1,000이다.
출력
누적 접수 수가 처음으로 K 이상이 되는 날짜 번호를 정수 하나로 출력한다. 해당 날짜가 없으면 0을 출력한다.
예제 입력 1
5 12 3 0 4 6 2
예제 출력 1
4
예제 입력 2
4 9 0 2 2 4
예제 출력 2
0
예제 입력 3
1 1 1
예제 출력 3
1
힌트 펼치기
- 날짜 순서대로 접수 수를 더하면서 누적 접수 수가 목표 이상인지 확인한다.
관련 서재 장
알고리즘 분류
구현반복누적 합풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |