题目1004:Median

来源:互联网 发布:阿里云域名备案号查询 编辑:程序博客网 时间:2024/06/05 09:22

#include <stdio.h>#include <algorithm> int main(){    int N,M;    while(scanf("%d",&N) != EOF){        int A[N];        for(int i=0;i<N;i++)            scanf("%d",&A[i]);        scanf("%d",&M);        int B[M];        for(int i=0;i<M;i++)            scanf("%d",&B[i]);        int C[N+M];        int i=0,j=0,k=0;        while(i<=N-1 && j<=M-1){            if(A[i]>B[j])                C[k++]=B[j++];            else                C[k++]=A[i++];        }        while(i<=N-1)            C[k++] = A[i++];        while(j<=M-1)            C[k++] = B[j++];        printf("%d\n",C[(N+M-1)/2]);    }    return 0;} /**************************************************************    Problem: 1004    User: cust123    Language: C++    Result: Accepted    Time:0 ms    Memory:1020 kb****************************************************************/

#include "iostream"  #include "stdio.h"  #include "math.h"  #include "map"  #include "vector"  #include "queue"  #include "memory.h"  #include "algorithm"  #include "string"  using namespace std;  #define N 1000005  #define INF 1<<29  #define max(a,b) a>b?a:b      long a[1000000];  int main()  {         long n1,n2,i,mid;          while(cin>>n1)          {                for(i=0;i<n1;i++)                     cin>>a[i];                cin>>n2;                for(;i<n1+n2;i++)                     cin>>a[i];                mid=(i-1)/2;                nth_element(a,a+mid,a+i);                cout<<a[mid]<<endl;           }      return 0;  }  /**************************************************************    Problem: 1004    User: cust123    Language: C++    Result: Accepted    Time:10 ms    Memory:9332 kb****************************************************************/


0 0
原创粉丝点击