본문으로 이동
코드패스 by Devin.KR

문제 3778 · 바이트 III

연속 급수대 점검 구간

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

마라톤 대회 운영팀은 코스를 따라 설치한 N개의 급수대에 물을 준비하고 있다. 급수대에는 출발점에서 가까운 순서대로 1번부터 N번까지 번호가 붙어 있다. 각 급수대에 처음 준비된 물의 양은 정수 단위로 기록되어 있으며, 물이 전혀 없는 급수대도 있을 수 있다. 대회 시작 전에는 M건의 추가 보급이 이루어진다. 한 번의 보급 기록은 세 정수 L, R, V로 표현한다. 이는 번호가 L 이상 R 이하인 모든 급수대에 물을 각각 V만큼 추가한다는 뜻이다. L번과 R번 급수대도 보급 대상에 포함된다. 여러 보급의 대상 구간이 겹치면 해당 급수대에는 각 보급의 물이 모두 더해진다. 보급 과정에서 물이 소비되거나 다른 급수대로 옮겨지는 일은 없다. 모든 추가 보급이 끝난 뒤 운영팀은 이동 점검 차량이 방문할 구간을 하나 고르려고 한다. 차량은 연속한 K개의 급수대를 방문해야 한다. 시작 급수대가 s번이면 방문하는 급수대는 s번부터 s+K-1번까지이며, 코스의 끝을 넘어가거나 마지막 급수대에서 첫 급수대로 이어서 방문할 수는 없다. 운영팀은 방문하는 K개 급수대에 준비된 물의 총량이 가장 큰 구간을 선택한다. 총량이 가장 큰 구간이 여러 개라면 시작 급수대의 번호가 가장 작은 구간을 선택한다. 물의 양이 모두 0이어도 같은 기준을 적용한다. 초기 물의 양과 모든 추가 보급 기록을 바탕으로 선택할 구간의 시작 번호와 그 구간의 물 총량을 구하는 프로그램을 작성한다.

입력

첫째 줄에 정수 N, M, K가 공백으로 구분되어 주어진다. 1 ≤ K ≤ N ≤ 20,000이고 0 ≤ M ≤ 20,000이다.
둘째 줄에 각 급수대에 처음 준비된 물의 양을 나타내는 정수 A_1, A_2, …, A_N이 공백으로 구분되어 주어진다. 0 ≤ A_i ≤ 9이다.
다음 M개 줄에 추가 보급 기록을 나타내는 정수 L, R, V가 공백으로 구분되어 주어진다. 1 ≤ L ≤ R ≤ N이고 1 ≤ V ≤ 99이다.

출력

선택한 구간의 시작 급수대 번호와 그 구간에 준비된 물의 총량을 공백으로 구분하여 한 줄에 출력한다. 총량이 같은 구간이 여러 개이면 가장 작은 시작 번호를 출력한다.

예제 입력 1

5 2 2
1 0 2 1 0
2 4 3
4 5 2

예제 출력 1

3 11

예제 입력 2

4 0 2
3 1 3 1

예제 출력 2

1 4

예제 입력 3

3 1 3
0 0 0
1 3 2

예제 출력 3

1 6
힌트 펼치기
  • 구간 보급은 시작 위치와 끝 다음 위치에 변화량을 기록하여 한꺼번에 반영할 수 있다.
  • 최종 물의 양을 구한 뒤, 연속한 K개 급수대의 총량을 갱신하며 확인한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류누적 합구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)