SUMCHILD

Xem PDF

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho dãy số gồm \(N\) số nguyên dương \(A_0,A_1,\ldots,A_{N-1}\). Với mỗi \(i\) từ 0 đến \(N-1\) hãy tính:
\(\(f(i)=\sum\limits_{j|i=i, (0\leq j\leq n-1)} A_j.\)\)
Kí tự | biểu diễn phép OR.

Yêu cầu:

  • Tính các giá trị \(f(i)\).

Input:

  • Dòng đầu tiên gồm số nguyên dương \(T (1\leq T \leq 5)\) ứng với số test.
  • Mỗi nhóm dòng trong số \(T\) dòng tiếp theo gồm:
  • Dòng thứ nhất gồm một số nguyên dương \(N (N<2^18)\).
  • Dòng thứ hai gồm \(N\) số nguyên dương \(A_0,A_1,\ldots,A_{N-1} (1\leq A_i\leq 1000)\).

Output:

  • Với mỗi test, in ra các giá trị \(f(0),f(1),\ldots ,f(N-1)\) trên một dòng.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(N<2^{12}\).
  • Subtask \(2\) (\(50\%\) số điểm): không giới hạn gì thêm.

Test 1

Input
1
4
1 2 3 4
Output
1 3 4 10
Note
  • \(f(0)=A_0\)
  • \(f(1)=A_0+A_1\)
  • \(f(2)=A_0+A_2\)
  • \(f(3)=A_0+A_1+A_2+A_3\)

Bình luận

Không có bình luận nào.