Gửi bài giải

Điểm: 0,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một dãy số nguyên dương ~a~ độ dài ~n~. Với một loại thao tác duy nhất là tăng giá trị của một phần tử bất kì trong dãy lên 1 đơn vị.

Yêu cầu: Với mỗi mỗi ~k~ thuộc đoạn ~[2, n]~, bạn hãy tính xem tổng số thao tác ít nhất cần dùng để cả mảng là bội của ~k~.

Input

Dòng đầu gồm một số nguyên duy nhất là ~n~ (~n\le 5\times 10^5~) độ dài mảng

Dòng thứ hai gồm ~n~ giá trị nguyên dương ~a_i~ (~a_i\le 5\times 10^5~)

Output

Gồm ~n-1~ dòng mỗi dòng là số thao tác cần để cả dãy là bội của ~k~ với mọi ~k~ thuộc khoảng ~[2, n]~

Sample Input 1

4
1 4 2 2

Sample Output 1

1
6
7

Sample Input 2

8
6 3 5 9 1 4 7 1

Sample Output 2

6
9
16
19
24
27
36

Scoring

  • Có ~40\%~ số điểm thỏa mãn ~n \le 5000~

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.