Python Basic Contest #01 - Tổng các tích

Xem PDF

Nộp bài

Điểm: 1400 (thành phần)
Thời gian: 0.25s
Scratch 5.0s
Bộ nhớ: 256M
Scratch 512M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, bf, C, C++, Haskell, Java, javascript, NASM, Pascal, Perl, scratch, text

Bạn được cho một dãy số nguyên dương a_1, a_2, ..., a_n. Bạn hãy tính tổng các tích của các dãy con liên tiếp khác rỗng của dãy số trên, hay nói cách khác, hãy tính tổng các giá trị a_l \times a_{l + 1} \times ... \times a_r với mọi 1 \le l \le r \le n.

Input, Output và Subtask

Input (bàn phím)
  • Dòng đầu tiên gồm số nguyên dương n (n \le 10^5).
  • Dòng tiếp theo gồm n số nguyên dương a_i (a_i \le 10^9).
Output (màn hình)
  • Một dòng duy nhất là kết quả bài toán. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của nó khi chia cho 10^9 + 7.
Subtask
Tỉ lệ điểm (%) Giới hạn
40 n \le 10^2
40 n \le 10^3
20 n \le 10^5
Sample 1
Input (bàn phím)
3
1 2 3
Output (màn hình)
20
Notes
  • Kết quả của bài toán là 1 + 2 + 3 + 1 \times 2 + 2 \times 3 + 1 \times 2 \times 3 = 20.
Sample 2
Input (bàn phím)
5
1 2 3 4 5
Output (màn hình)
409

Bình luận

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