https://www.acmicpc.net/problem/14929
직관적인 수학 능력을 요구하는 문제이다.
각 요소별 중복되지 않은 두 개의 값을 곱한 뒤 다 더하는 것인데,
어렵진 않지만 단순히 조합으로 풀면 시간초과가 난다.
결국 (AB + BC + AC) 형태의 값을 구하면 되므로 수학적 개념을 살짝 응용해 풀어낼 수 있다.
$$ (a+b)^2 = a^2 + 2ab + b^2 $$
를 응용하면, ((a+b)^2 - (a^2+b^2)) / 2 = ab 가 되므로
(합의 제곱 - 제곱의 합) / 2 로 결과를 도출할 수 있다.
import sys
input = sys.stdin.readline
def main():
N = int(input())
arr = list(map(int, input().split()))
val1 = sum(arr)**2
total = 0
for i in arr:
total += i**2
print((val1-total)//2)
if __name__ == '__main__':
main()