您的位置:首页 > 其它

1029. Median (25)

2015-06-17 20:42 239 查看
cin会超时,cin会超时,用scanf

#define _CRT_SECURE_NO_WARNINGS

#include<string>

#include<string.h>

#include<vector>

#include<map>

#include<iostream>

#include<algorithm>

#include<stdio.h>

using namespace std;

int main()

{

int N, M;

cin >> N;

int *a = new int
;

for (int i = 0; i < N; i++)

{

scanf("%d",&a[i]);

}

cin >> M;

int i_a = 0, i_b = 0,i_c = 0,mid=(N+M-1)/2;

int *b = new int[M];

int *c = new int[N + M];

scanf("%d", &b[0]);

while (i_b < M&&i_a<N)

{

if (a[i_a] < b[i_b])

{

c[i_c++] = a[i_a++];

}

else if (a[i_a] == b[i_b])

{

c[i_c++] = a[i_a++];

c[i_c++] = b[i_b++];

scanf("%d", &b[i_b]);

}

else

{

c[i_c++] = b[i_b++];

if (i_b<M)

scanf("%d", &b[i_b]);

}

if (i_c > mid)

{

cout << c[mid];

return 0;

}

}

while (i_c <= mid&&i_b<M)

{

c[i_c++] = b[i_b++];

if (i_b<M)

scanf("%d", &b[i_b]);

}

while (i_c <= mid&&i_a<N)

{

c[i_c++] = a[i_a++];

}

cout << c[mid];

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: