CodeForces-1121B
题意:n个互不相同的数中,选出k对数,k对数和相同且一个数不能重复选,求k的最大值。
思路:a[i]的最大值为1e5,n为1e3,此题可以用桶排获得每种可能的方案数。最后取一个最大值。保证j从i+1开始,则对于和sum,因为每个数唯一,则不会出现重复选择。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n+5];
int[] count = new int[(int)2e5+10];
for(int i=0;i<n;i++) arr[i] = sc.nextInt();
for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) count[arr[i]+arr[j]] ++;
int max = 0;
for(int i=0;i<(int)2e5+10;i++) max = Math.max(count[i],max);
System.out.print(max);
}
}