九度1097:取中值

九度1097:取中值

九度1097:取中值

题目来源: 题目1097:取中值

注意:中值不需要排序

#include <stdio.h> #include <stdlib.h> using namespace std; int s1[1000001]; int s2[1000001]; int main(){ int n; while(scanf("%d", &n)!=EOF){ while(n--){ int len1,len2; scanf("%d%d", &len1,&len2); //int *s1 = (int *)malloc(sizeof(int)*len1); //int *s2 = (int *)malloc(sizeof(int)*len2); for(int i=0; i<len1; i++){ scanf("%d", &s1[i]); } for(int i=0; i<len2; i++){ scanf("%d", &s2[i]); } int a,b,c,d; scanf("%d%d%d%d", &a, &b, &c, &d); int ans; int n1 = b-a+1; int n2 = d-c+1; int p = (n1+n2-1)/2; if (p<n1) { p = p+a-1; PRintf("%d\n", s1[p]); } else{ p = p-n1+c-1; printf("%d\n", s2[p]); } } } return 0; }