title: key-value data structure to search key in O(1) and get Max value in O(1)
body: <p>I need to implement a key-value data structure that search for a unique <strong>key</strong> in O(lgn) or O(1) AND get max <strong>value</strong> in O(1). I am thinking about </p>
  
  <pre><code>boost::bimap&lt; unordered_set_of&lt;key&gt; ,multiset_of&lt;value&gt; &gt;
  </code></pre>
  
  <p>Note that there is no duplicated key in my key-value data sets. However, two keys may have the same value. Therefore I used multiset to store values. </p>
  
  <p>I need to insert/remove/update key-value pair frequently </p>
  
  <p>How does it sounds ?</p>