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
javafreak:
2017-09-28 02:05:24
Finally solved it :) :) Feels good, use scanf , printf , cin and cout will not work even on using sync_with_stdio(false), will have to implement segment trees using pointers as array implementation would be complicated and memory consuming , finally don't give up, its a beautiful problem on segment trees will teach you a lot. |
|
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.
|
|
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
|
|
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 ! |
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 |