Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Tuyển tập đề thi HSG
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bài toán

Cho bảng số có kích thước N × N được điền số liên tiếp từ 1 đến , từ trái qua phải, từ trên xuống dưới. Ví dụ với N = 4, bảng số như sau:

Copy
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16

Yêu cầu:

Cho vị trí một ô ở dòng thứ x và cột thứ y, hãy tính tổng hai đường chéo đi qua ô này.


Dữ liệu vào từ thiết bị vào chuẩn:

  • Dòng đầu tiên chứa hai số nguyên dương NQ (N ≤ 10⁹; Q ≤ 10⁵) mô tả kích thước của bảng số và số lượng truy vấn;
  • Q dòng sau, mỗi dòng gồm hai số nguyên dương xy (x, y ≤ N) mô tả một truy vấn là vị trí một ô ở dòng thứ x và cột thứ y.

Kết quả ghi ra thiết bị ra chuẩn:

  • Gồm Q dòng, mỗi dòng gồm một số nguyên là kết quả của truy vấn tương ứng.
  • Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư của kết quả cho 10⁹ + 7.

Ví dụ:

Dữ liệu vào:
Copy
4 2
2 2
1 3
Kết quả ra:
Copy
46
26
Giải thích:
  • Truy vấn (2,2) đi qua các ô: 1 + 6 + 11 + 163 + 6 + 9 = 46 (trừ trùng 6 một lần).
  • Truy vấn (1,3) đi qua các ô: 3 + 6 + 9 = 181 + 6 + 11 = 26 (trừ trùng 6 một lần).

Ràng buộc:

  • Có 70% số test ứng với 70% số điểm có: N ≤ 100; Q = 1;
  • 20% số test khác ứng với 20% số điểm có: N ≤ 5000; Q ≤ 10⁵;
  • 10% số test còn lại ứng với 10% số điểm không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.