芭比Q了家人们,
一开始看到中位数还以为要用对顶堆或者排序,结果看下这个合并完直接取合并后的中间值就可以了
#include<iostream> #include<cstring> #include<vector> #include<algorithm> using namespace std; vector<int> res; const int N = 1000010; int x[N],y[N]; int main(){ int n,m; cin>>n>>m; for(int i=0;i<n;i++) cin>>x[i]; for(int i=0;i<m;i++) cin>>y[i]; int a,b,c,d; cin>>a>>b>>c>>d; for(int i=a-1;i<b-1;i++) res.push_back(x[i]); for(int i=c-1;i<d-1;i++) res.push_back(y[i]); int sz = res.size(); cout<<res[(sz-1)/2]; return 0; }