부분 직사각형 넓이의 합
시간 제한2초메모리 제한512 MB
각 N에 대해 N x N 격자 안의 모든 정수 좌표 부분 직사각형 넓이의 합을 구한다.
문제
좌표 부터 까지의 격자를 생각하자.
네 꼭짓점이 정수 좌표이며 과 을 만족하는 모든 부분 직사각형 를 고려한다. 각 부분 직사각형의 넓이는 이다. 다음 의사코드는 모든 부분 직사각형의 넓이의 합을 구한다.
sum = 0
for r1 = 0 to N-1
for c1 = 0 to N-1
for r2 = r1+1 to N
for c2 = c1+1 to N
sum = sum + (r2-r1)*(c2-c1)
print(sum)
이 주어졌을 때 이 합을 효율적으로 계산하라. 입력에는 여러 테스트 케이스가 주어진다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 다음 개의 줄에는 각 테스트 케이스의 정수 이 하나씩 주어진다. 은 64비트 정수 범위에 들어가며 을 만족한다.
출력
각 테스트 케이스마다 위에서 정의한 합을 한 줄에 출력한다. 합은 64비트 정수 범위를 넘을 수 있으므로 임의 정밀도 정수로 출력해야 한다.