Using algebraic techniques to solve a combinatorics problem I have a question about a problem in olympiad training handout called "Algebraic techniques in combinatorics" (http://yufeizhao.com/olympiad/algcomb.pdf) 
The problem is following:


*(Russia 2001) A contest with n question was taken by m contestants. Each question was worth a certain (positive) number of points, and no partial credits were given. After all the papers have been graded, it was noticed that by reassigning the scores of the questions, any desired ranking of the contestants could be achieved. What is the largest possible value of m?


I have been completely stumped by this problem. I would greatly appreciate a solution with linear algebra. Thanks!
 A: Consider the $n \times m$ matrix $A$ such that $A_{i,j}$ is the score obtained by candidate $j$ at question $i$. 
Define $C$ to be the $n \times m$ matrix such that $C_{i,j}=1$ iff the student $j$ got full credit on question $i$. 
Define $B$ to be the diagonal $n \times n$ such that $B_{i,i}$ is the value of question $i$, and $\beta$ the corresponding $1 \times n$ vector ($\beta_{1,i}=B_{i,i}$). 
Then $A=BC$, and the $1 \times m$ matrix of student scores is $1 \cdot A= 1BC=\beta C$. 
We know that the set of $\beta C$ allows for all possible student rankings. 
Assume $C$ has a nonzero kernel vector $t \in \mathbb{R}^m$. By linear algebra, this always occurs if $m > n$. Let $A=\{1 \leq i \leq m,\,t_i\geq 0\}$, $B=\{i,\,t_i < 0\}$. Assume wlog that $\sum_{i \in A}{|t_i|}  \leq \sum_{i \in B}{|t_i|}$. 
Then, for any possible score assignment vector $s$, $s \cdot t=0$, meaning, $\sum_{i \in A}{s_i|t_i|}=\sum_{i \in B}{s_i|t_i|}$. Since $\sum_{i \in A}{|t_i|} \leq \sum_{i \in B}{|t_i|}$, a ranking “every candidate with index in $B$ beat every candidate with index in $A$” is impossible.
Therefore $m \leq n$.
Now, $m=n$ is possible: candidate $i$ solved only question $i$. 
