COCI 2016/2017 - Contest 5 - Unija

Xem dạng PDF

Gửi bài giải

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

Người đăng:
Nguồn bài:
COCI 2016/2017 - Contest 5
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Có ~N~ hình chữ nhật, tâm của các hình chữ nhật trùng với gốc tọa độ ~O~ của hệ tọa độ ~Oxy~. Cạnh của chúng song song với các trục tọa độ. Mỗi hình chữ nhật là duy nhất được xác định với chiều rộng (dọc theo trục ~Ox~) và chiều dài (dọc theo trục ~Oy~). Các bạn có thể xem hình minh họa của test ví dụ ~1~ để hiểu rõ hơn.

Mirko đã tô màu mỗi hình chữ nhật bằng một màu nhất định và anh ta muốn biết diện tích của phần được tô màu. Nói cách khác, anh ta muốn biết có bao nhiêu ô vuông đơn vị (kích thước ~1 \times 1~) thuộc ít nhất một hình chữ nhật.

Input

Dòng đầu chứa số nguyên ~N~ ~(1 \leq N \leq 1 \times 10^6)~ là số lượng hình chữ nhật.

~N~ dòng tiếp theo mỗi dòng chứa hai số nguyên chẵn ~X~ và ~Y~ ~(2 \leq X, Y \leq 10^7)~, lần lượt là chiều dài và chiều rộng của hình chữ nhật tương ứng.

Output

Dòng duy nhất chứa kết quả là diện tích phần được tô màu.

Sample Input 1

3
8 2
4 4
2 6

Sample Output 1

28

Sample Input 2

5
2 10
4 4
2 2
8 8
6 6

Sample Output 2

68

Subtask

  • ~40\%~ số test, tất cả các số ở input đều bé hơn ~3333~.
  • ~50\%~ số test tiếp theo, không có hình chữ nhật nào nằm hoàn toàn trong một hình chữ nhật khác.
  • ~10\%~ số test còn lại 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.



  • 20
    hieuhfgr  đã bình luận lúc 16, Tháng 8, 2025, 7:00

    Mô sai (my sol)

    Hint:

    Để dễ giải quyết, Ta chỉ cần xét những hình vuông được tạo bởi ~(x, y)~ dương.

    Khi thêm các hình vuông vào, khi xét ~x~ càng lớn thì ~y~ sẽ càng bé.

    Solution:

    Để dễ cài đặt, ta chỉ xét phần góc phải trên của trục tọa độ ~Oxy~ và kết quả sẽ được nhân lên ~4~ lần.

    Bây giờ, ta gọi ~maxHeight_x~ là độ cao lớn nhất của hình vuông tại tọa độ ~x~. Kết quả sẽ là tổng của các ~maxHeight_x~.

    Ta thấy ~maxHeight_x \leq maxHeight_{x-1}~ nên việc cài đặt mảng ~maxHeigth~ rất dễ dàng, mình nhường cho bạn đọc

    Lần ~7~ viết sol mong mọi người đừng downvote T_T


    • 1
      ChiPhatNguyen  đã bình luận lúc 16, Tháng 8, 2025, 8:47 chỉnh sửa

      em cảm ơn anh