JOI 2024 - Shopping 2
Xem PDFCửa hàng JOI có \(N\) mặt hàng, được đánh số từ \(1\) đến \(N\). Mỗi mặt hàng có một giá niêm yết và một loại. Mặt hàng \(i\) (\(1 \le i \le N\)) có giá niêm yết \(P_i\) yên và thuộc loại \(A_i\). Các loại được biểu diễn bằng các số nguyên từ \(1\) đến \(M\).
Cửa hàng JOI tổ chức một đợt giảm giá kéo dài \(M\) ngày. Vào ngày thứ \(j\) (\(1 \le j \le M\)), mọi mặt hàng thuộc loại \(j\) đều được bán với giá bằng một nửa giá niêm yết.
Trong đợt giảm giá, có \(Q\) khách hàng đến cửa hàng, được đánh số từ \(1\) đến \(Q\). Khách hàng \(k\) (\(1 \le k \le Q\)) đến vào ngày thứ \(T_k\) và mua mỗi mặt hàng \(L_k, L_k+1, \ldots, R_k\) một đơn vị.
Để đánh giá hiệu quả của đợt giảm giá, cửa hàng muốn biết số tiền mỗi khách hàng đã chi. Cho thông tin về các mặt hàng và khách hàng, hãy viết chương trình tính số tiền mỗi khách hàng phải trả.
Dữ liệu vào
Dòng thứ nhất chứa ba số nguyên \(N, M, Q\).
Trong \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(P_i, A_i\).
Trong \(Q\) dòng tiếp theo, dòng thứ \(k\) chứa ba số nguyên \(T_k, L_k, R_k\). Các giá trị trên cùng một dòng được cách nhau bởi dấu cách.
Dữ liệu ra
In ra \(Q\) dòng. Dòng thứ \(k\) (\(1 \le k \le Q\)) chứa số tiền khách hàng \(k\) phải trả, không kèm đơn vị yên.
Ràng buộc
- \(1 \le N \le 200\,000\).
- \(1 \le M \le 200\,000\).
- \(1 \le Q \le 200\,000\).
- \(2 \le P_i \le 10^9\) với mọi \(1 \le i \le N\).
- \(P_i\) là số chẵn với mọi \(1 \le i \le N\).
- \(1 \le A_i \le M\) với mọi \(1 \le i \le N\).
- \(1 \le T_k \le M\) với mọi \(1 \le k \le Q\).
- \(1 \le L_k \le R_k \le N\) với mọi \(1 \le k \le Q\).
- Tất cả các giá trị đầu vào đều là số nguyên.
Phân nhóm
Mọi phân nhóm đều thỏa mãn các ràng buộc chung ở trên.
- (15 điểm) \(N \le 2000\), \(M \le 2000\), \(Q \le 2000\).
- (20 điểm) \(M = 1\).
- (12 điểm) \(M \le 10\).
- (14 điểm) \(A_i \ne A_j\) với mọi \(1 \le i < j \le N\).
- (22 điểm) \(P_i = 2\) với mọi \(1 \le i \le N\).
- (17 điểm) Không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
5 1 3
10 1
40 1
30 1
20 1
50 1
1 2 4
1 3 5
1 1 5
Output
45
50
75
Giải thích
Khách hàng \(1\) phải trả \(40 \div 2 + 30 \div 2 + 20 \div 2 = 45\) yên, nên dòng thứ nhất in ra \(45\).
Khách hàng \(2\) phải trả \(30 \div 2 + 20 \div 2 + 50 \div 2 = 50\) yên, nên dòng thứ hai in ra \(50\).
Khách hàng \(3\) phải trả \(10 \div 2 + 40 \div 2 + 30 \div 2 + 20 \div 2 + 50 \div 2 = 75\) yên, nên dòng thứ ba in ra \(75\).
Ví dụ này thỏa mãn các ràng buộc của các phân nhóm \(1, 2, 3, 6\).
Ví dụ 2
Input
5 3 3
10 1
40 3
30 2
20 1
50 3
1 2 4
3 3 5
2 1 5
Output
80
75
135
Giải thích
Khách hàng \(1\) phải trả \(40 + 30 + 20 \div 2 = 80\) yên, nên dòng thứ nhất in ra \(80\).
Khách hàng \(2\) phải trả \(30 + 20 + 50 \div 2 = 75\) yên, nên dòng thứ hai in ra \(75\).
Khách hàng \(3\) phải trả \(10 + 40 + 30 \div 2 + 20 + 50 = 135\) yên, nên dòng thứ ba in ra \(135\).
Ví dụ này thỏa mãn các ràng buộc của các phân nhóm \(1, 3, 6\).
Ví dụ 3
Input
5 5 3
50 2
70 4
20 5
30 1
10 3
4 2 4
5 1 5
2 3 4
Output
85
170
50
Giải thích
Ví dụ này thỏa mãn các ràng buộc của các phân nhóm \(1, 3, 4, 6\).
Ví dụ 4
Input
10 5 4
2 1
2 5
2 4
2 3
2 4
2 2
2 2
2 4
2 2
2 1
3 2 7
1 1 7
2 1 10
5 5 8
Output
11
13
17
8
Giải thích
Ví dụ này thỏa mãn các ràng buộc của các phân nhóm \(1, 3, 5, 6\).
Ví dụ 5
Input
10 10 10
741703628 7
231838922 5
920286164 3
763741914 5
246151406 7
54109256 1
966457488 5
441379880 10
458514202 2
224373612 1
5 5 10
2 2 7
1 9 9
1 3 4
9 4 6
1 1 7
9 4 7
4 8 8
7 5 9
1 4 5
Output
1907757100
3182585150
458514202
1684028078
1064002576
3897234150
2030460064
441379880
2043536529
1009893320
Giải thích
Ví dụ này thỏa mãn các ràng buộc của các phân nhóm \(1, 3, 6\).
Nguồn
Bản dịch tiếng Việt từ đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch được cung cấp theo giấy phép CC BY-SA 4.0.
Kỳ thi:
- JOI 2024 - Vòng loại 2 (10 Tháng 12., 2023)
Bình luận