GSS1 - Can you answer these queries I


You are given a sequence A[1], A[2], ..., A[N] . ( |A[i]| ≤ 15007 , 1 ≤ N ≤ 50000 ). A query is defined as follows:
Query(x,y) = Max { a[i]+a[i+1]+...+a[j] ; x ≤ i ≤ j ≤ y }.
Given M queries, your program must output the results of these queries.

Input

  • The first line of the input file contains the integer N.
  • In the second line, N numbers follow.
  • The third line contains the integer M.
  • M lines follow, where line i contains 2 numbers xi and yi.

Output

    Your program should output the results of the M queries, one query per line.

Example

Input:
3 
-1 2 3
1
1 2
Output:
2

hide comments
sak_sam: 2017-07-26 11:14:05

Amazing question..use long long. :)

abs_123: 2017-07-21 17:30:48

use scanf and printf !

lord_ozb: 2017-07-18 12:31:13

is this unsolvable using Java?
I am getting TLE even by using BufferedReader and PrintWriter for I/O

siddharthp538: 2017-07-04 06:19:44

Nice problem. Finally AC :)

manasjoshi: 2017-06-22 01:02:04

Very Weak test cases
first 8 cases are useless
my misunderstood range max query solution passes them

babur: 2017-06-20 09:44:27

This is what we call a classical question..!!:)

sudddddd: 2017-06-17 13:31:30

Guys when submitting the code click "choose the file" not copy paste the code
Wasted my 4 hours :(

nermatibhanu: 2017-06-13 11:47:47

Are the given numbers sorted?

mishra10: 2017-06-10 05:27:34

Those of you getting W.A on test case 9 return negative number smaller than -15007 when there is no overlap..Hope this will help you to get AC.

sharif ullah: 2017-06-03 10:33:48

use scanf() printf()


Added by:Nguyen Dinh Tu
Date:2006-11-01
Time limit:0.115s-0.230s
Source limit:5000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET