RMID - Running Median
You will be given some integers in non decreasing order and each time the median is queried you have to report and remove it. Take the smaller element as median in case of even elements.
The input contains many test cases. Read until End Of File.
Each test case contains n (n ≤ 100000) positive integers in non-decreasing order, along with m queries indicated by -1, all on separate lines. (See the example.)
For a query, print the current median on a single line and remove it from the list.
Each test case ends with 0 on a single line, and two test cases will be separated by an empty line. All integers are guaranteed to fit in a signed 32-bit container. A query can only occur if the list is non-empty.
For each test case output m lines containing the answers to the corresponding queries. Print an empty line after each test case.
Input: 1 2 3 4 -1 -1 5 6 7 -1 0 2 3 -1 0 Output: 2 3 5 2
Could somebody define the problem constraints better? What are the constraints of m(number of queries)?? Is m less than 10^5??
What's the median when there is one element in the list ?
@Jayant - Can you let me know a test case. TLE comes with both the approach Doubly linked list and (Stack + Queue). Code submission id is 21263046.
Last edit: 2018-01-13 15:41:06
stack+queue..AC...!! : )
vectors made it easy... : )
cstdio + vector works for me
Last edit: 2017-06-15 12:11:42
BIT+binary search :)
Time constraints are way too hardcore for interpreted languages, exactly same solution passes in C, but gives TLE in java even buffering in java but not in c, using 2 static global arrays to keep both the stack and the queue ...
|Added by:||jayant mukherji|
|Cluster:||Cube (Intel G860)|
|Languages:||All except: ASM32-GCC MAWK BC C-CLANG CPP14-CLANG CPP14 COBOL COFFEE D-DMD D-CLANG DART ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG PYPY R RACKET RUST CHICKEN SQLITE SWIFT UNLAMBDA VB.NET|