Tổng và XOR trên đoạn
Đề bài
Mô tả
Cho mảng gồm số tự nhiên . Có hai loại thao tác:
- Tính tổng các phần tử trong đoạn ;
- Áp dụng phép toán XOR với cho trước cho từng phần tử trong đoạn , tức là thay mỗi với bằng .
Cho danh sách thao tác thuộc hai loại trên.
Yêu cầu: Hãy thực hiện lần lượt tất cả các thao tác đã cho, đối với mỗi thao tác tính tổng, in ra kết quả nhận được.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên dương ;
- Dòng thứ hai chứa số tự nhiên ;
- Dòng thứ ba chứa số nguyên dương là số thao tác;
- dòng tiếp theo mô tả thao tác theo định dạng:
- 1 : tính tổng các phần tử trong đoạn ;
- 2 : áp dụng phép toán XOR với cho tất cả các phần tử trong đoạn .
Dữ liệu ra
Với mỗi thao tác loại 1, theo thứ tự xuất hiện, ghi tổng thu được trên một dòng. Dữ liệu vào có ít nhất một thao tác loại 1.
Ràng buộc
- , .
- , .
- trong mọi thao tác.
- Sau các thao tác XOR, giá trị các phần tử có thể vượt quá (nhưng luôn nhỏ hơn ).
Subtasks
- Subtask 1 ( số điểm): .
- Subtask 2 ( số điểm): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 10 3 13 7 8 1 2 4 2 1 3 3 1 2 4 1 3 3 2 2 5 5 1 1 5 2 1 2 10 1 2 3 |
26 22 0 34 11 |
Tổng ban đầu của đoạn là . Sau thao tác 2 1 3 3 mảng là , tổng đoạn là , phần tử thứ bằng . Sau 2 2 5 5 mảng là , tổng là . Sau 2 1 2 10 mảng là , tổng đoạn là . |
| 3 0 1000000 5 4 2 1 3 1000000 1 1 3 2 2 2 7 1 2 3 |
2000005 1000012 |
Ví dụ bổ sung. Sau thao tác đầu mảng là : phần tử thứ ba vượt quá . Sau 2 2 2 7 mảng là , tổng đoạn là . |
Bình luận