蒟蒻WA的一声哭了出来

P1168 中位数

xQAQyn @ 2019-04-14 12:22:29

#include<bits/stdc++.h>
using namespace std;

priority_queue<int> q1;
priority_queue< int,vector<int>,greater<int> > q2;

int main()
{
    int n;
    scanf("%d",&n);
    int in;
    scanf("%d",&in);
    q1.push(in);
    cout<<q1.top()<<endl;
    int s1 = 1,s2 = 0;
    for(int i = 1;i < n;i++)
    {
        scanf("%d",&in);
        if(in > q1.top())
        {
            q2.push(in);
            s2++;
        }
        else
        {
            q1.push(in);
            s1++;
        }
        while(s1 - s2 > 1)
        {
            q2.push(q1.top());
            s2++;s1--;
            q1.pop();
        }
        while(s2 - s1 > 1)
        {
            q1.push(q1.top());
            s1++;s2--;
            q2.pop();
        }
        if(i % 2 == 0)
        {
            if(s1>s2)
                cout<<q1.top()<<endl;
            else
                cout<<q2.top()<<endl;
        }
    }
    return 0;
}

by smarthehe @ 2019-04-14 12:55:31

nth_element

|