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
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 ...
can be done using multiset + bin search
AC in 1 go used both stack and queue
Phew...a few minor optimizations....and accepted....nice list question
Ok unexpected AC...!!
why does it TLE??.........
|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|