Những Ngọn Núi
Đề bài
Mô tả
Có ngọn núi đặt cách đều nhau trên một đường thẳng. Ngọn núi thứ có đỉnh tại điểm .
Hai ngọn núi và () nhìn thấy nhau nếu không có ngọn núi nào với mà đỉnh của nó nằm hoàn toàn phía trên đoạn thẳng nối đỉnh núi với đỉnh núi . Một đỉnh nằm đúng trên đoạn thẳng đó thì không che khuất tầm nhìn.
Có lần cập nhật, mỗi lần tăng độ cao của một ngọn núi. Sau mỗi lần cập nhật, hãy đếm số cặp ngọn núi nhìn thấy nhau.
Dữ liệu vào
- Dòng 1: số nguyên .
- Dòng 2: số nguyên .
- Dòng 3: số nguyên .
- dòng tiếp theo: mỗi dòng chứa hai số nguyên và , nghĩa là tăng thêm . Các cập nhật được áp dụng lần lượt và có hiệu lực với những cập nhật sau đó.
Dữ liệu ra
In dòng, dòng thứ là số cặp ngọn núi nhìn thấy nhau sau lần cập nhật thứ .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 4 3 1 5 3 4 3 1 3 3 2 |
7 10 7 |
Ban đầu có 6 cặp nhìn thấy nhau: . Sau cập nhật 1 () có thêm cặp nên được 7 cặp. Sau cập nhật 2 () núi 1 cao lên và nhìn thấy mọi núi khác, tổng cộng 10 cặp. Sau cập nhật 3 () núi 3 che khuất các cặp đi qua nó, chỉ còn 7 cặp. |
| 3 1 1 1 2 2 1 2 1 |
2 2 |
Ban đầu ba đỉnh thẳng hàng nên cả 3 cặp đều nhìn thấy nhau. Sau cập nhật 1 () đỉnh 2 nhô lên trên đoạn nối đỉnh 1 và đỉnh 3, phá vỡ cặp , còn 2 cặp. Cập nhật 2 () không làm thay đổi gì thêm. |
Bình luận