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
ashishsb95: 2017-01-17 19:43:38

using scanf and printf made a difference!

dante_smit_98: 2017-01-16 16:37:16

getting WA after test case 9 :(

hellc: 2017-01-04 04:30:43

@Rezaul H Sagar
Neither. It means Max Subinterval Sum.

Abhishek Kainth: 2016-12-31 19:27:01

Got several WAs because of using int :/

yashar shahi: 2016-12-31 16:36:08

don't forget to use fast IO!!
I got one TLE because of not using fast IO!

siddharth_0196: 2016-12-27 16:04:20

When 1 typo leads to a series of WAs and TLEs. :/
Nice question though!

Rezaul H Sagar: 2016-12-25 20:30:16

What does Max { a[i]+a[i+1]+...+a[j]} mean? Range Maximum Query or Range Sum Query?

Abhishek Jaisingh: 2016-12-14 23:58:51

simple Segment Tree gives AC :)

Wumbolo: 2016-12-03 16:02:58

100th :Do GSS3 after this.

jawad_cs: 2016-11-18 08:42:40

taking size of array as 50000
and size of tree as 99999 (=2*50000-1)
gave me SEGSEV error

after increasing the sizes my solution got ac. Im curious to know why this thing happend. Can anyone please help me.


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