输入
输入数据包含两行。
第一行第一个数为n(1≤n≤2*105), 表示A队进球数,接下来n个正整数表示A队每次进球的投篮位置ai(1≤ai≤2*109)。
第二行第一个数为m(1≤m≤2*105),表示B队进球数,接下来m个正整数表示B队每次进球的投篮位置bi(1≤bi≤2*109)。
|
|
|
|
时间限制
C/C++语言:1000MS
其它语言:3000MS
|
内存限制
C/C++语言:65536KB
其它语言:589824KB
|
import java.util.*;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int anum = sc.nextInt();
int[] aspot = new int[anum];
for(int i=0;i<anum;i++){
aspot[i] = sc.nextInt();
}
int bnum = sc.nextInt();
int[] bspot = new int[bnum];
for(int i=0;i<bnum;i++){
bspot[i] = sc.nextInt();
}
Arrays.sort(aspot);
Arrays.sort(bspot);
int j=0;
int max = Integer.MIN_VALUE;
for(int i=0;i<anum;i++){
for(;j<bnum;j++){
if(bspot[j]>=aspot[i]){
break;
}
}
int left = (anum-i)*3-(bnum-j)*3+(i*2-j*2);
if(left>max)
max = left;
}
int right = anum*3-bnum*3;
if(right>max)
max = right;
int mid = anum*2-bnum*2;
if(mid>max)
max = mid;
System.out.println(max);
}
}