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
kapildeshpande: 2017-09-15 20:44:18

Finally solved it!

harshpreet: 2017-09-07 18:58:57

used scanf ,printf and segment trees with 4 values in the node still getting WA on test case 9.
When no overlap is returning value -15008 sufficient??
please help !!!!

Last edit: 2017-09-07 19:00:45
dhruv19: 2017-08-21 16:27:15

Use scanf printf and shift operator instead of division by 2

kaushal101: 2017-08-14 09:41:23

WA on test case 9 , can anyone suggest some corner cases. I tried on all my cases.

sam128: 2017-08-11 20:09:52

Amazing Question..learnt a thing or two..

bhagirathi08: 2017-07-31 07:04:51

TEST CASES in SPOJ TOOLKIT is "BOGUS" .sometimes they use 0-indexing and sometimes 1-indexing and sometimes both at a time. check this one
input:
3
-1 2 3
1
0 1

output:
-1

jha_gaurav98: 2017-07-28 18:34:13

what is the range of M

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


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