Lang:Java
Edit12345678910111213141516171819202122232425262728293031import java.util.Scanner;public class Main {public static void main(String[] args) {int T, N, P, W, H;Scanner scanner = new Scanner(System.in);T = scanner.nextInt();while (T > 0) {N = scanner.nextInt();P = scanner.nextInt();W = scanner.nextInt();H = scanner.nextInt();int[] charsCount = new int[N];for (int i = 0; i <= N - 1; i++) {charsCount[i] = scanner.nextInt();}System.out.println(maxFontSize(N, P, W, H, charsCount));T--;}}public static int maxFontSize(int N, int P, int W, int H, int[] charsCount) {int start = 1, end = Math.min(W, H);int res = 0;while (start <= end) {int mid = start + (end - start) / 2;int maxLine = P * (H / mid);int count = 0;int lineCount = W / mid; // 一行最多字符个数