Submit | All submissions | Best solutions | Back to list |
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-05-22 17:55:47 Marko Puza
I believe I most probably have the right algorithm; but I am not able to pass the time limit using Java.. Any ideas? |
||||||||||||||
2015-05-21 13:12:01 faiz
wow just solve this question amazing problem |
||||||||||||||
2015-05-13 16:44:32 LazarusLong
For people with a case-sensitive brain (like me), the problem statement should be: "You are given a sequence a[1], a[2], ..., a[N] . ( |a[i]| ≤ 15007 , 1 ≤ N ≤ 50000 ).". |
||||||||||||||
2015-05-08 01:37:10 Michael Harvey
For c++, I had to use scanf/printf to get it fast enough to pass, even with a good algorithm. |
||||||||||||||
2015-04-24 00:05:07 Stanislav Zholnin
Limit on M is large enough to make O(mn) algorithm useless. Need O(n + m *log(n)) Last edit: 2015-04-24 00:06:40 |
||||||||||||||
2015-04-20 06:18:48 bayram
What's limit of M? |
||||||||||||||
2015-04-02 23:47:01 zorkan
I dont understand this question. Do we need to find max number in given interval [a, b]? |
||||||||||||||
2015-03-28 18:01:35 xxbloodysantaxx
WOw man... Just a hint : Do consider other methods other than Kadane's algorithm.. That is why I could not solve it on my own without a hint... :/ |
||||||||||||||
2015-02-02 11:00:42 codedog
if the number are -1 -2 -3 then should the max be -1 in the total array? |
||||||||||||||
2012-08-10 17:22:39 Demjan
Query(x,y) = Max { a[i]+a[i+1]+...+a[j] ; x ≤ i ≤ j ≤ y } means you are given numbers x and y, you have to find numbers i and j ( where x <= i <= j <= y ) such that sum a[i]+a[i+1]+...+a[j-1]+a[j] is maximized |