#STK0000080. Tầm nhìn tòa nhà (Tower Visibility)
Tầm nhìn tòa nhà (Tower Visibility)
Tầm nhìn tòa nhà (Tower Visibility)
Nguồn: Baekjoon Online Judge
Phiên bản: Phước Hưng OJ Extended
Đề bài
Có tòa nhà trên một đường thẳng, đánh số từ đến , khoảng cách giữa hai tòa kề nhau bằng nhau. Từ tòa , chỉ xét các tòa có . Tòa được nhìn thấy từ khi mọi tòa nằm giữa và đều thấp hơn ; nếu có một tòa ở giữa cao ít nhất bằng thì tòa bị che. Với mỗi tòa, hãy xác định tổng số tòa nhìn thấy ở cả hai phía và, nếu có, chỉ số tòa nhìn thấy gần nhất. Nếu có hai tòa gần nhất cùng khoảng cách, chọn chỉ số nhỏ hơn.
Input
Dòng đầu chứa . Dòng thứ hai chứa chiều cao .
Output
Với mỗi từ đến , in một dòng. Nếu không nhìn thấy tòa nào, in 0. Ngược lại, in số tòa nhìn thấy và chỉ số tòa gần nhất.
Subtask
- Subtask 1 (30 điểm): ; các điều kiện khác giữ nguyên.
- Subtask 2 (70 điểm): , .
Ví dụ
Input
8
3 7 1 6 3 5 1 7
Output
1 2
0
3 2
2 2
4 4
3 4
4 6
0
Giải thích
Các chiều cao là .
Các tòa nhìn thấy từ từng vị trí là:
- Tòa : thấy tòa ; có tòa, gần nhất là .
- Tòa : không có tòa nào cao hơn có thể nhìn thấy; in
0. - Tòa : thấy các tòa ; có tòa. Tòa và đều cách một vị trí, nên chọn chỉ số nhỏ hơn là .
- Tòa : thấy các tòa ; cả hai cách vị trí, nên chọn .
- Tòa : thấy các tòa ; gần nhất là và , cùng cách , nên chọn .
- Tòa : thấy các tòa ; gần nhất là .
- Tòa : thấy các tòa ; gần nhất là và , cùng cách , nên chọn .
- Tòa : không có tòa nào cao hơn có thể nhìn thấy; in
0.
Các dòng này đúng với output đã cho.