并归就好~~估计数据大 直接用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;}
新闻热点
疑难解答