인덱스 1부터 N까지 있다고 하고, 수열 A와 B의 i번째 값을 A[i], B[i]라고 하면 다음과 같은 규칙을 찾을 수 있다.
i == 1 이면, B[i] = A[i]
i > 1 이면, B[i] = i * A[i] - (A[1]부터 A[i - 1]까지의 합)
#include <iostream>
#include <vector>
using namespace std;
int N;
vector<int> A, B;
int func(const int& n, const int& i) {
if (i == 1) return n;
int result = 0;
int sum = 0;
result = i * n;
for (int j = 1; j <= i - 1; j++)
sum += A[j];
result -= sum;
return result;
}
int main() {
scanf("%d", &N);
A.resize(N + 1);
B.resize(N + 1);
for (int i = 1; i <= N; i++)
scanf("%d", &B[i]);
for (int i = 1; i <= N; i++)
A[i] = func(B[i], i);
for (int i = 1; i <= N; i++)
printf("%d ", A[i]);
return 0;
}