Sasha và Mảng
Đề bài
Mô tả
Cho một mảng số nguyên . Bạn cần thực hiện truy vấn thuộc hai loại:
- Loại 1:
1 l r x— tăng tất cả các phần tử trên đoạn từ đến lên đơn vị. - Loại 2:
2 l r— tính tổng , trong đó là số Fibonacci thứ . Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho .
Dãy Fibonacci được định nghĩa như sau: , , và với mọi .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số phần tử của mảng và số truy vấn.
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo, mỗi dòng mô tả một truy vấn theo định dạng nêu trên.
Dữ liệu bảo đảm có ít nhất một truy vấn loại 2.
Dữ liệu ra
Với mỗi truy vấn loại 2, in ra một dòng chứa kết quả tương ứng theo modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 1 1 2 1 1 2 1 5 1 2 4 2 2 2 4 2 1 5 |
5 7 9 |
Ban đầu . Truy vấn đầu: . Sau truy vấn cập nhật, . Truy vấn thứ hai: . Truy vấn thứ ba: . |
| 9 4 2 1 2 3 3 3 2 1 3 2 1 8 1 7 7 3 1 1 3 1 1 3 5 2 |
11 | Truy vấn loại 2 trên đoạn : . Ba truy vấn còn lại là cập nhật nên không in gì. |
| 1 2 1000000000 1 1 1 1000000000 2 1 1 |
999999020 | Sau khi cộng, phần tử duy nhất bằng . Kết quả là . |
Bình luận