并归就好~~估计数据大 直接用scanf了 怕cin超时
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector <long long> l1;
vector <long long> l2;
int N1, N2;
int main() {
long long temp = 0;
scanf("%d", &N1);
for (int i = 0; i < N1; i++) {
scanf("%lld", &temp);
l1.push_back(temp);
}
scanf("%d", &N2);
for (int i = 0; i < N2; i++) {
scanf("%lld", &temp);
l2.push_back(temp);
}
int i = 0, j = 0;
int len = N1 + N2 + 1;
len /= 2;
len;
int mid;
bool isFind = false;
int count = 0;
while (i < N1 && j < N2 && !isFind) {
if (l1[i] < l2[j]) {
count++;
if (count == len) {
mid = l1[i];
isFind = true;
break;
}
i++;
}
else {
count++;
if (count == len) {
mid = l2[j];
isFind = true;
break;
}
j++;
}
}
if (!isFind) {
while (i < N1) {
count++;
if (count == len) {
mid = l1[i];
isFind = true;
break;
}
i++;
}
}
if (!isFind) {
while (j < N2) {
count++;
if (count == len) {
mid = l2[j];
isFind = true;
break;
}
j++;
}
}
cout << mid << endl;
system("pause");
return 0;
}