Truy Vấn Điểm Thuộc Đoạn

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho \(N\) đoạn thẳng trên trục số, đoạn thẳng thứ i giới hạn từ tọa độ L_i đến R_i (\(L_i \le R_i\)).

Bạn cần xử lý \(Q\) truy vấn: Mỗi truy vấn cho một điểm X. Hãy tìm tất cả các đoạn thẳng chứa điểm X (\(tức là L_i \le X \le R_i\)).

Với mỗi truy vấn, hãy in ra:

  1. Số lượng đoạn thẳng chứa \(X\).
  2. Tổng các tích \(L_i \times R_i\) của các đoạn thẳng tìm được, chia lấy dư cho \(10^9+7\).

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên dương \(N\) và Q (\(1 \le N, Q \le 10^5\)).
  • \(N\) dòng tiếp theo, mỗi dòng chứa hai số nguyên L_i và R_i (\(-10^9 \le L_i \le R_i \le 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một số nguyên X (\(-10^9 \le X \le 10^9\)).

Định dạng đầu ra

  • Với mỗi truy vấn, in ra số lượng đoạn thẳng chứa và tổng tích modulo \(10^9+7\) cách nhau bởi dấu cách trên một dòng.

Ví dụ

Input:

3 3
1 3
5 8
10 12
2
4
6

Output:

1 3
0 0
1 40

Giải thích:

  • Các đoạn thẳng: \([1, 3]\), \([5, 8]\), \([10, 12]\).
  • Truy vấn 1 (\(X=2\)): Nằm trong \([1, 3]\). Số lượng = 1. Tổng tích = 3.
  • Truy vấn 2 (\(X=4\)): Không thuộc đoạn nào. Số lượng = 0. Tổng tích = 0.
  • Truy vấn 3 (\(X=6\)): Nằm trong \([5, 8]\). Số lượng = 1. Tổng tích = 40.

Ràng buộc & Subtasks

  • **Subtask 1 (30% số điểm):\(Q \le 1000\).
  • **Subtask 2 (70% số điểm):\(Q \le 10^{5}, các ràng buộc gốc\).

Nhận xét

Không có ý kiến tại thời điểm này.