The question's title presupposes the wrong answer. Median can in fact be maintained in $O(1)$ time. Here is the counter example disproving the title's fallacious claim of “How to show that the median cannot be maintained in $O(1)$ time?”.
The given problem-statement demands that time-growth be $O(1)$ but does not regulate space-growth. Hence space growth can be anything that we desire to pull off an $O(1)$ growth rate, but therein lies the rub: the maintenance of the $O(—)$ growth rate for size of space must itself be $O(1)$ too (where $—$ is mnemonic for: whatever it may be), since incremental maintenance of whatever data struture is utilized to incrementally calculate median is itself a proper suboperation within the calculation of median. The definition of “track” here is important: the word “track” here refers to a single incremental expansion of the population size by one member. $O(1)$ tracking of median hence means $O(n)$ calculation of median for the population n, when viewed as the final result cumulatively instead of incrementally.
One of the most ingenious $O(1)$-time data structures is the radix trie for a given $log_{2}(max(X))$, where $max(X)$ is the maximum potential value of any $x_{i}∈X$ in the population of size $n_{∞}$. Note that $log_{2}(max(X))$ [i.e., the word size, say, 32-bit integers & hence the radix-tree rate of growth] in no way depends on $log_{2}(n_{∞})$, say, 64-bit integers/pointers. Or in other words, each insertion and access of the $k$-ary radix trie is an $O(1)$ operation for each incremental expansion of the population size, which matches our goal for an $O(1)$ incremental calculation of median. Now, we need just the right clever threadedness of the leaves of the radix trie to be useful to direct inspection of the median. Also we need just the right clever count of divided population size at each leg of each branch of the radix trie so that we know by simple inspection at time of $O(1)$ access of the radix trie how many members of the population are along subordinate branches of the radix trie. Conceptually, this is easiest to envision when the radix $k$ is binary=2, but this data structure and its algorithm extrapolates nicely to any integer radix $k≥2$ as well; this higher-radix extrapolation of this answer will be elided for brevity.
Clever threadedness in the radix trie
The leaves of the radix trie shall be a doubly-linked list. This is done so that the successor direction of that doubly-linked list states the ascending order of the population even if that population arrived incrementally out-of-order (or even if that population arrived incrementally in any particular order, such as descending, or partially ordered). A single access of a leaf in the radix trie (which might or might not have been an $O(1)$ insertion of that leaf as a by-product of this access) is an $O(log_{2}(max(X)))$ operation to traverse all the bits within each $xi$. Note that $log_{2}(max(X))$ is a constant (e.g., 64 on modern computers for 64-bit integers), hence $O(log_{2}(max(X)))$ in effect simplifies to $O(1)$ in Bachmann–Landau notation because $n$ is constant at engineering-time of the design of the software by the choice of, say, 64-bit integers as the range of set $X$ for all $x_{i}∈X$. Insertion of a new leaf into the doubly-linked threaded list is also $O(1)$ because for each attempt to visit a leaf the immediate predecessor in bitwise value (i.e., $x_{i}-1$) and immediate successor in bitwise value (i.e., $x_{i}+1$) of each incoming $x_{i}$ is also attempted to visited, all of which are themselves $O(1)$ operations.
Clever population-size partitioning in the radix trie
Each branch of the radix trie shall contain the number of subordinate leaves along the leftward (i.e., 0-bit) branch and the number of subordinate leaves along the rightward (i.e., 1-bit) branch. An $log_{2}(max(X))$-sized array of pointers of traversed branches from root to leaf is always maintained for each attempt to access a leaf (which might imply an insertion of a leaf). Upon insertion, all elements of this array are visited to update their left-/0-subordinate count and their right-/1-subordinate count. Because ≤$log_{2}(max(X))-1$ nonleaf nodes in the radix trie are always accessed for this fixed-size maintenance for each insertion, this refresh of these counts along that root-to-leaf walk is itself an $O(1)$ operation.
Direct read-out of the median incrementally via 1 access of a leaf in a radix trie
From the ascending order of the treadedness of the leaves, and from the partitioning of the population size at each nonleaf node in the radix trie, the following standard definitions of median can be directly utilized:
$median(x_{i})≡\begin{cases}x_{\left\lfloor i+1\over 2\right\rfloor}&\text{|}\ \lfloor i/2\rfloor ≡ 1(mod 2)\\ \\{x_{\left\lfloor \frac{i}{2}\right\rfloor} + x_{\left\lfloor \frac{i}{2}\right\rfloor+1}\over 2}&\text{|}\ \lfloor i/2\rfloor ≡ 0(mod 2)\end{cases}$