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

수열과 쿼리 46

Diamond II 다이아몬드 II
난이도
3s
시간 제한
2048MB
메모리 제한
4
맞았습니다!!
4
제출 수
100.0%
정답률
레이팅

의견: 0

설명

길이 \(l\)의 수열 \([B_1 , B_2 , \dots , B_l ]\)에 대해, 수열의 연속 구간\([B_i , B_{i+1} ,\dots , B_j ]\)와 같이 수열 위에서 연속적으로 등장하는 수들의 부분 수열로 정의된다. 연속 구간은 비어 있을 수 없다. 즉, \(1 ≤ i ≤ j ≤ l\)을 만족해야 한다.

길이 \(l\)의 수열 \([B_1 , B_2 , \dots , B_l ]\)에 대해, 수열의 최대 연속 구간 합은 수열의 모든 연속 구간의 원소의 합의 최댓값으로 정의된다. 예를 들어, 수열 \([6, −7, 3, −1, 5, 2]\)의 최대 연속 구간 합은 \(9\)이며, 이는 연속 구간 \([3, −1, 5, 2]\)를 골라서 얻을 수 있다. 수열 \(B\)의 최대 연속 구간 합을 수학 기호로 표현하면 \(\max_{1 \le i \le j \le l}{\left( \sum_{k=i}^j{B_k} \right)}\)이다.

길이 \(N\)의 수열 \([A_1 , A_2 , \dots , A_N ]\)\(Q\)개의 쿼리가 주어진다. \(i\)번째 쿼리는 하나의 정수 \(X_i\)로 표현된다. \(X_i\)가 주어졌을 때, 수열 \([A_1 + X_i , A_2 + X_i , \dots , A_N + X_i ]\)의 최대 연속 구간 합을 계산하라.

제약
  • 주어지는 모든 수는 정수이다.
  • \(1 \le N \le 1\,000\,000\)
  • \(1 \le Q \le 1\,000\,000\)
  • \(1 \le i \le N\)인 모든 \(i\)에 대해 \(-10 \le A_i \le 10\)이다.
  • \(1 \le i \le Q\)인 모든 \(i\)에 대해 \(-10 \le X_i \le 10\)이다.
입력 형식

첫 번째 줄에 \(N\), \(Q\)가 공백을 사이에 두고 주어진다.

두 번째 줄에 \(A_1 , A_2 , \dots , A_N\)이 공백을 사이에 두고 주어진다.

세 번째 줄에 \(X_1 , X_2 , \dots , X_Q\)가 공백을 사이에 두고 주어진다.

출력 형식

\(Q\)개의 줄을 출력하라. 이 중 \(i\) (\(1 ≤ i ≤ Q\))번째 줄에는 수열 \([A_1 + X_i , A_2 + X_i , \dots , A_N + X_i ]\)의 최대 연속 구간 합을 출력하라.

서브태스크
서브태스크점수설명

1

5점

\(N, Q \le 300\)

2

5점

\(N \le 300\)

3

28점

\(N \le 10\,000\)

4

17점

\(N \le 125\,000\)

5

16점

\(N \le 250\,000\)

6

15점

\(N \le 500\,000\)

7

14점

추가 제약 조건 없음.

예제 1
입력
6 15
6 -7 3 -1 5 2
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
출력
-1
0
1
2
3
4
5
9
14
20
26
32
38
44
50
예제 2
입력
10 15
-2 6 3 -8 1 2 0 -3 9 6
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
출력
2
3
5
7
9
11
13
16
25
34
44
54
64
74
84
문제 정보

생성자가 기록되지 않았습니다.

출처 올림피아드 > 한국정보올림피아드 > KOI 2025 > 2차 대회 > 중등부 4번 / 고등부 3번

평가 및 의견

수열과 쿼리 46

개요
출제자 난이도 Diamond II 다이아몬드 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

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

풀이 제출

수열과 쿼리 46

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