class Solution {
  public:
    void Insert(int num) {
        p.push_back(num);
        int i=p.size()-1;
        while(i>=1&&p[i]<p[i-1])swap(p[i],p[i-1]),i--;
    }

    double GetMedian() {
        int len = p.size();
        if (len & 1)return p[len >> 1];
        else return (p[len >> 1] + p[(len >> 1) - 1])*1.0/2;
    }
  private:
    vector<int>p;
};