multiset--P1168 中位数
作者:互联网
P1168 中位数
multiset保证数据可重、有序。
一个迭代器始终指向中位数
#include<iostream>
#include<cstdio>
#include<string>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<vector>
using namespace std;
#define ll long long
#define PII piar
signed main()
{
multiset<int> st;
int n; cin>>n;
int t; cin>>t;
st.insert(t);
auto it=st.begin();
cout<<*it<<endl;
int last=*it,flag=0;
for(int i=2;i<=n;i++){
cin>>t;
st.insert(t);
if(t<last) flag--;
else flag++;
if(i%2==1){
if(flag==2) it++;
else if(flag==-2) it--;
cout<<*it<<endl;
last=*it;
flag=0;
}
}
}
标签:cout,--,cin,st,中位数,multiset,include,P1168 来源: https://blog.csdn.net/qq_51265427/article/details/120463797