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
theweblover007: 2015-09-07 18:40:16

Is lazy propog. required to solve this ?

Pratik S: 2015-08-27 19:23:29

M in long long int(C++)?
guys W.A in judge 9 ive seen several ppl say the same any1 who could solve this problem plzz help

PKJ: 2015-08-22 13:08:15

Note that the answer to a query could even be negative.

reverser: 2015-08-12 23:47:29

Last edit: 2015-08-13 00:11:59
hnvahidi: 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

lavish goel: 2015-07-31 12:34:26

Why I am getting TLE? :(
I used S.T.
My Program is in JAVA

Last edit: 2015-07-31 12:35:05
kejriwal: 2015-07-29 00:36:12

Nice one :) learnt something :D

Abhinav: 2015-07-27 12:36:09

@Utkarsh Gupta
It should work with cout if you use cin.tie(0); and std::ios::sync_with_stdio(false);

Rahul Jain: 2015-07-21 18:44:24

Amazingly nice question. Learnt a lot of things on how exactly to use segment trees for Range queries.

shravinson: 2015-07-19 20:49:48

why am i getting WA
https://ideone.com/evaVRa


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