10588: Максимальна сума на відрізку


Відправити розв'язок

Бали: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Brain****, C++, Java, Pascal, Python, v8js

Задано послідовність цілих чисел \(a_1, a_2, ..., a_n\) \((|a_i| ≤ 15007\), \(1 ≤ n ≤ 50000)\). Запит має вигляд:

Query(x, y) = MAX {\(a_i + a_i+1 + ... + a_j\), \(x ≤ i ≤ j ≤ y\)}

(тобто на відрізку \(x..y\) знайти неперервний підмасив з максимальною сумою)

Вам необхідно вивести відповіді на задані \(m\) запитів. (\(1 \le m \le 500500\))

Формат вхідних даних

Перший рядок містить значення \(n\).

У другому рядку задані \(n\) цілих чисел послідовності.

Третій рядок містить кількість запитів \(m\).

Далі слідує \(m\) рядків, причому \(i\)-й рядок містить два числа \(x_i\) та \(y_i\).

Формат вихідних даних

Вивести відповіді на \(m\) запитів, по одній відповіді у рядку.

Приклад вхідних даних

3 
-1 2 3
2
1 2
2 3

Приклад вихідних даних

2
5

Коментарі

Ще немає коментарів.