💻
Elearning
CodePath
Problems
Contests
Roadmap
🔐 Login
Cập nhật 1 phần tử – Tính tổng đoạn
SUMQUERY
Đề bài Cho dãy số nguyên $A = (A_1, A_2, \dots, A_n)$ gồm $n$ phần tử, các phần tử được đánh số từ $1$ đến $n$. Cần thực hiện $q$ truy vấn thuộc một trong hai loại sau: - `1 i x`: tăng giá trị của phần tử thứ $i$ thêm $x$ đơn vị, tức là: $A_i \leftarrow A_i + x$ - `2 l r`: tính và in ra tổng các phần tử trên đoạn từ vị trí $l$ đến vị trí $r$, tức là: $A_l + A_{l+1} + \dots + A_r$ Với mỗi truy vấn loại `2`, hãy in ra kết quả theo đúng thứ tự xuất hiện. Dữ liệu vào | Thành phần | Mô tả | |---|---| | Dòng 1 | Hai số nguyên $n, q$ | | Dòng 2 | $n$ số nguyên $A_1, A_2, \dots, A_n$ | | $q$ dòng tiếp theo | Mỗi dòng mô tả một truy vấn thuộc một trong hai dạng `1 i x` hoặc `2 l r` | Ràng buộc | Thành phần | Giới hạn | |---|---| | $1 \le n, q \le 10^5$ | | | $abs(A_i), abs(x) \le 10^9$ | | | $1 \le i \le n$ | với truy vấn loại `1` | | $1 \le l \le r \le n$ | với truy vấn loại `2` | Kết quả ra | Thành phần | Mô tả | |---|---| | Với mỗi truy vấn loại `2` | In ra một dòng chứa tổng các phần tử trên đoạn $[l, r]$ | Ví dụ | Input | Output | Giải thích | |---|---|---| | `5 5`<br>`1 2 3 4 5`<br>`2 1 3`<br>`1 2 10`<br>`2 1 3`<br>`1 5 -8`<br>`2 4 5` | `6`<br>`16`<br>`1` | Ban đầu, tổng đoạn $[1,3]$ là $1+2+3=6$. <br>Sau truy vấn `1 2 10`, ta có $A_2 \leftarrow 2+10=12$, nên mảng trở thành $(1,12,3,4,5)$. <br>Khi đó tổng đoạn $[1,3]$ là $1+12+3=16$. <br>Sau truy vấn `1 5 -8`, ta có $A_5 \leftarrow 5-8=-3$, nên tổng đoạn $[4,5]$ là $4+(-3)=1$. | | `4 4`<br>`7 7 7 7`<br>`2 1 4`<br>`1 3 -7`<br>`2 2 4`<br>`2 3 3` | `28`<br>`14`<br>`0` | Ban đầu tổng đoạn $[1,4]$ là $28$. <br>Sau khi thực hiện truy vấn `1 3 -7`, mảng trở thành $(7,7,0,7)$. <br>Khi đó tổng đoạn $[2,4]$ là $7+0+7=14$, còn tổng đoạn $[3,3]$ là $0$. | | `3 5`<br>`-1 -2 -3`<br>`2 1 3`<br>`1 1 4`<br>`2 1 1`<br>`1 3 10`<br>`2 1 3` | `-6`<br>`3`<br>`8` | Ban đầu tổng đoạn $[1,3]$ là $-6$. <br>Sau truy vấn `1 1 4`, mảng trở thành $(3,-2,-3)$ nên tổng đoạn $[1,1]$ là $3$. <br>Sau truy vấn `1 3 10`, mảng trở thành $(3,-2,7)$ nên tổng đoạn $[1,3]$ là $8$. | Subtask | Subtask | Ràng buộc | Tỷ lệ điểm | |---|---|---| | 1 | $1 \le n, q \le 1000$ | 30% | | 2 | Không có ràng buộc gì thêm | 70% |
✅ Đã AC: 5 / 7 submissions
⬅ Contest
🚀 Nộp bài
💡 Gợi ý AI
📌 Bài kế
📋 Copy đề
⚙️
⬅ Contest
🚀 Nộp bài
💡 Gợi ý
📌 Bài kế
📋 Copy
📖 Hướng dẫn học tập
Học trò tri ân
☕ Một ly cà phê sẻ chia
Bạn bè ủng hộ
🍜 Một bát phở ấm lòng
💳 Quét mã ủng hộ tuỳ tâm nhé!
💬 Liên hệ Zalo!
Đóng