시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 1024 MB106292833.333%

문제

길이가 $N$인 정수 수열 $A_1, A_2, ..., A_N$이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.

  • $a, b, c, d$: $a\leq x\leq b, c\leq y\leq d$를 만족하는 두 정수 $x, y$에 대해 부분 수열 $A_x, A_{x+1}, ..., A_y$의 평균의 최댓값을 출력한다.

입력

첫째 줄에 수열의 길이 $N(1 \leq N \leq 100,000)$과 쿼리의 개수 $Q(1\leq Q \leq 30,000)$가 주어진다.

둘째 줄에는 $A_1, A_2, ..., A_N$이 주어진다.$(1 \leq A_i \leq 10^8)$

셋째 줄부터 $Q$개의 줄에는 쿼리 $a, b, c, d$가 한 줄에 하나씩 주어진다.$(1\leq a\leq b\leq c\leq d\leq N)$

출력

각각의 쿼리마다 정답을 한 줄에 하나씩 출력한다.

답은 버림하여 정수로 출력한다.

예제 입력 1

5 3
2 5 6 5 2
1 1 1 1
1 3 3 5
1 2 5 5

예제 출력 1

2
6
4

1번째 쿼리의 경우, $x=y=1$인 경우만 가능하므로 최대 평균은 2이다.

2번째 쿼리의 경우, $x=y=3$일 때 평균은 6이며, 이것이 최대이다.

3번째 쿼리의 경우, $x=2, y=5$일 때 평균은 4.5이며, 이것이 최대이다. 버림하여 정수로 출력하라고 하였으므로 4를 출력한다.

출처

High School > 경기과학고등학교 > 나는코더다 2022 송년대회 G번