RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R01314

잠수함 탐색 구간

Silver III 실버 III
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

해군 레이더가 바닷속 소음 센서 수열 \(a_1, a_2, \dots, a_N\)을 탐지했다. 모든 값은 양의 정수이다.

잠수함 탐색대는 연속된 구간에서 소음값의 합이 \(K\) 이상이 되는 가장 짧은 구간을 찾고자 한다. 길이가 같은 구간이 여럿이라면 시작 인덱스가 가장 작은 구간을 선택한다.

만약 조건을 만족하는 구간이 없다면 \(0\)을 출력한다. 그렇지 않으면 구간의 길이와 시작·끝 인덱스(1-indexed)를 출력한다.

제약
  • \(1 \le N \le 200\,000\)
  • \(1 \le K \le 10^{18}\)
  • \(1 \le a_i \le 10^9\)
입력 형식

첫째 줄에 원소의 수 \(N\)과 목표 합 \(K\)가 공백으로 구분되어 주어진다.

둘째 줄에 소음값 \(a_1, a_2, \dots, a_N\)이 공백으로 구분되어 주어진다.

출력 형식

조건을 만족하는 연속 구간이 없으면 \(0\)을 출력한다.

그렇지 않으면 첫째 줄에 구간의 길이, 둘째 줄에 시작 인덱스와 끝 인덱스를 공백으로 구분해 출력한다.

예제 1
입력
5 7
2 3 1 4 3
출력
2
4 5
설명

합이 \(7\) 이상인 가장 짧은 연속 구간은 \([4, 3]\)으로 길이 \(2\)이고 인덱스는 \(4\)~\(5\)이다.

예제 2
입력
5 3
1 1 1 1 1
출력
3
1 3
설명

길이 \(3\)인 어떤 구간도 합이 \(3\)이므로 가장 짧은 길이는 \(3\)이다. 여러 구간 중 가장 왼쪽 구간 \(1\)~\(3\)을 출력한다.

힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

잠수함 탐색 구간

개요
출제자 난이도 Silver III 실버 III 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

잠수함 탐색 구간

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8