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
sawlani_123: 2019-01-08 07:09:29

Nice question on segment tree .Learnt a Lot!

cegprakash: 2019-01-05 20:00:11

Too strict time limit :P Changing to call by reference gave me AC :P

pranav_raut: 2018-12-29 07:23:45

Those who are getting WA on testcase 9 try this,
Input:
3
1 -2 3
1
2 2
Output:
-2

rahul_107: 2018-12-28 18:58:05

too strict time limit for java anyone help:)

vatsalsonigara: 2018-12-26 14:51:25

test case 9 giving TLE for Java

ankitp6665: 2018-12-22 10:41:59

nice suggestions in the comments.
no need of long long
take segment tree array size as 4*N

ankitpriyarup: 2018-12-15 15:13:50

Learnt a lot! AC in one go :)

Last edit: 2018-12-15 15:14:59
rishabh_hurr: 2018-12-14 20:11:48

very good questions,learn a lot.

tanmayak99: 2018-11-28 12:52:36

Use Fast i/o.. Otherwise you might get TLE

Nandan Mankad: 2018-11-23 04:34:20

Java: TLE in TC# 9 even after using Seg Tree and Fast I/O. Any suggestions?


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