Truy vấn tổng
Xem dưới dạng PDF
Gửi bài giải
Điểm:
1
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Bình có một dãy số \(a_1, a_2, \dots, a_n\) và nhận được \(q\) truy vấn. Mỗi truy vấn yêu cầu tính tổng các số trong đoạn \([l, r]\).
Gợi ý: Dùng mảng cộng dồn (prefix sum) — xây dựng \(pref[i] = \sum_{k=1}^{i} a_k\), mỗi truy vấn trả lời \(pref[r] - pref[l-1]\) trong \(O(1)\).
Input
Dòng đầu chứa \(n\) và \(q\) (\(1 \le n, q \le 10^5\)). Dòng hai chứa \(n\) số \(a_i\) (\(1 \le a_i \le 10^9\)). \(q\) dòng tiếp theo, mỗi dòng chứa \(l, r\) (\(1 \le l \le r \le n\)).
Output
Với mỗi truy vấn, in ra tổng các số từ \(l\) đến \(r\).
Example
5 3
1 2 3 4 5
1 3
2 5
3 4
Output:
6
14
7
Nhận xét