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

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

hide comments
2015-08-22 13:08:15 PKJ
Note that the answer to a query could even be negative.
2015-08-12 01:35:48
i don't get it :|
why such a tight time limit ?
it will garbage all the theory behind problem due to such a constant decrease of time
2015-07-31 12:34:26 lavish goel
Why I am getting TLE? :(
I used S.T.
My Program is in JAVA

Last edit: 2015-07-31 12:35:05
2015-07-29 00:36:12 kejriwal
Nice one :) learnt something :D
2015-07-27 12:36:09 Abhinav
@Utkarsh Gupta
It should work with cout if you use cin.tie(0); and std::ios::sync_with_stdio(false);
2015-07-21 18:44:24 Rahul Jain
Amazingly nice question. Learnt a lot of things on how exactly to use segment trees for Range queries.
2015-07-19 20:49:48 shravinson
why am i getting WA
<snip>

Last edit: 2022-08-17 17:27:11
2015-07-17 13:42:21 harshit sharma
avoid use of cin ,cout
2015-07-16 21:13:41 vabs
Awesome problem
2015-07-14 21:24:08 Utkarsh Gupta
TLE with cout + fast input. AC with printf + fast input. Very strict time limit.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.