combination
로직을 생각했는데 1000개의 점중에서 3개를 뽑는거라 시간초과가 당연하게도 발생했다.from sys import stdin
from itertools import combinations
T = int(stdin.readline())
for _ in range(T):
n = int(stdin.readline())
arr = list(map(int, stdin.readline().split()))
arr.sort()
res = 0
comb = combinations(arr, 3)
for a, b, c in comb:
if abs(b - a) == abs(c - b):
res += 1
print(res)
from sys import stdin
T = int(stdin.readline())
for _ in range(T):
n = int(stdin.readline())
arr = list(map(int, stdin.readline().split()))
arr.sort()
res = 0
dic = dict()
for num in arr:
dic[num] = True
for i in range(n-2):
for j in range(i + 1, n - 1):
if arr[j] * 2 - arr[i] in dic:
# arr[j]*2 를 C로 보고 B의 유무를 찾는다.
res += 1
print(res)
실버 2 라기엔 조금 생각하기 어려웠던 문제