Remove restriction that weights must be positive

Instead of making the forbidden value -1, I used the largest weight
in the matrix plus one.  That same value is now used to flip the
profit matrix as well, as not to call findLargest unnecessarily.