문제 3682 · 비트 IV
누적 운동 시간의 첫 달성일
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 헬스장은 회원이 꾸준히 운동하도록 돕기 위해 누적 운동 시간 목표를 정하는 행사를 운영한다. 회원은 행사 시작 전에 목표 시간 T분을 정하고, 행사 기간 동안 매일 운동한 시간을 기록한다. 안내 데스크에서는 기록된 시간을 첫째 날부터 차례로 더하여 목표를 처음 달성한 날을 확인하려 한다. 행사 기간은 N일이며, 날짜는 첫째 날부터 N번째 날까지 1부터 시작하는 번호로 나타낸다. i번째 날의 기록 A_i는 그날 인정받은 전체 운동 시간이다. 여러 운동을 했더라도 이미 하나의 값으로 합쳐져 있으므로, 입력에 적힌 값을 그대로 사용한다. 운동하지 않은 날의 기록은 0이며, 그런 날도 행사 기간의 하루로 센다. 기록이 0인 날을 날짜 번호에서 제외해서는 안 된다. 어떤 날의 누적 운동 시간은 첫째 날부터 그날까지의 기록을 모두 더한 값이다. 목표 달성 여부는 하루의 기록을 모두 반영한 뒤에 판단한다. 누적 운동 시간이 T와 정확히 같아진 경우뿐 아니라 T보다 커진 경우에도 목표를 달성한 것으로 본다. 그날 중 정확히 몇 분에 목표를 넘었는지는 구하지 않는다. 목표를 달성한 날이 여러 날이면 그중 날짜 번호가 가장 작은 날을 답으로 한다. 예를 들어 한 번 목표를 달성한 뒤 운동하지 않은 날이 이어져도 처음 달성한 날이 바뀌지는 않는다. 목표 시간은 양수이므로 행사가 시작되기 전에는 목표를 달성하지 않은 상태이다. N일의 기록을 모두 더해도 목표에 도달하지 못했다면 답으로 0을 사용한다. 주어진 기록을 바탕으로 목표를 처음 달성한 날짜 번호를 출력한다.
입력
첫째 줄에 행사 기간 N과 목표 시간 T가 공백으로 구분되어 주어진다. N과 T는 정수이며 1≤N≤1,000, 1≤T≤1,000,000이다. 둘째 줄에 A_1부터 A_N까지 N개의 정수가 공백으로 구분되어 주어진다. 각 A_i는 0 이상 1,000 이하이다.
출력
누적 운동 시간이 처음으로 T 이상이 되는 날의 번호를 출력한다. 그런 날이 없으면 0을 출력한다.
예제 입력 1
6 75 20 0 25 30 10 0
예제 출력 1
4
예제 입력 2
4 31 5 10 0 15
예제 출력 2
0
예제 입력 3
3 18 25 0 12
예제 출력 3
1
힌트 펼치기
- 첫째 날부터 운동 시간을 차례대로 누적한다.
- 누적값이 목표 이상이 되는 첫 번째 날을 찾는다.
관련 서재 장
알고리즘 분류
구현반복누적 합풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |