rewrote code

* keys are now kept in maps instead of a multiset
mini: changed compiler arguments
prepended simple impossibility check to the normal solution function

how many keys are avail in total vs how many are needed in total
added another simple impossibility check