数学和计算机IQ题,贪心过。从计算机最低IQ的同学开始试探,是否可以调,直到最后一个。

import java.util.*;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while (sc.hasNext()) {
            
        	int n = sc.nextInt();
        	double sumS = 0;
        	for (int i = 0; i < n; i ++) {
        		sumS += sc.nextInt();
        	}
        	double sss = sumS / n;
        	
        	int m = sc.nextInt();
        	List<Integer> nums = new ArrayList<>();
        	double sumJ = 0;
        	
        	for (int i = 0; i < m; i ++) {
        		int tmp = sc.nextInt();
        		nums.add(tmp);
        		sumJ += tmp;
        	}
        	
        	
        	Collections.sort(nums);        	
        	
        	int cntJ = m;
        	int cntS = n;
        	int res = 0;
        	
        	for (int i = 0; i < m; i ++) {
        		
        		int num = nums.get(i);
        		
        		if ((sumS + num) / (cntS + 1) > sumS/cntS && 
        			(sumJ - num) / (cntJ - 1) > sumJ/cntJ) {
        			sumS += num;
        			sumJ -= num;
        			cntS += 1;
        			cntJ -= 1;
        			res += 1;
        		}
        	}
        	
        	System.out.println(res);
        }
        sc.close();
    }
}