芭比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;
}

京公网安备 11010502036488号