这个是原先AC的代码,但是目前最后一个样例会超内存,也就是开不了两个数组来保存两个序列了,意味着我们只能开一个数组来存,这就需要利用到两个数组都有序的性质了。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <cmath>
#include <queue>
using namespace std;
/*
水死了
*/
const int maxn=400000+5;
int seq[maxn];

int main()
{
    int n1,n2;
    scanf("%d",&n1);
    for(int i=0;i<n1;i++){
        scanf("%d",&seq[i]);
    }
    scanf("%d",&n2);
    for(int i=0;i<n2;i++){
        scanf("%d",&seq[n1+i]);
    }
    sort(seq,seq+n1+n2);
    int n=n1+n2;
    int mid;
    if(n%2==0){
        mid=n/2;
    }
    else{
        mid=n/2+1;
    }
    printf("%d\n",seq[mid-1]);
    return 0;
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案