Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
Input:
PAIR.inp
Output:
PAIR.out
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Huy có một dãy số gồm ~2n~ phần tử ~a_1, a_2, ..., a_{2n}~, trong đó mỗi số nguyên dương không lớn hơn ~n~ xuất hiện đúng hai lần. Huy định nghĩa khoảng cách của một vị trí ~i~ trong dãy số và một cặp phần tử cùng có giá trị ~j~ là ~D(i, j)~, được tính theo công thức:
$$D(i, j) = (|x_j - i| + 1) \times (|y_j - i| + 1)$$
trong đó ~x_j, y_j~ là hai vị trí của hai phần tử có giá trị ~j~.
Huy muốn tính xem với mỗi vị trí ~i~ thì khoảng cách gần nhất giữa ~i~ và một cặp phần tử bất kỳ là bao nhiêu, hay nói cách khác Huy muốn tìm giá trị ~D(i, j)~ nhỏ nhất với mọi ~j~. Tuy nhiên do số vị trí quá lớn nên Huy không thể tính nhanh được, các bạn hãy giúp Huy nhé.
Dữ liệu - Nhập từ tệp văn bản PAIR.inp
:
- Dòng đầu tiên gồm một số nguyên dương ~n~ ~(1 \le n \le 10^5)~.
- Dòng tiếp theo gồm ~2n~ số nguyên dương ~a_1, a_2, ..., a_{2n}~ ~(1 \le a_i \le n)~.
- Dữ liệu đầu vào đảm bảo trong dãy ~a~ có đúng hai phần tử có giá trị ~i~ với mỗi ~i~ thỏa mãn ~1 \le i \le n~.
Kết quả - Ghi ra tệp văn bản PAIR.out
:
- Một dòng duy nhất gồm ~2n~ số nguyên dương, số nguyên dương thứ ~i~ là khoảng cách ngắn nhất của một cặp số bất kỳ với vị trí ~i~.
Chấm điểm
Điểm | Ràng buộc bổ sung |
---|---|
~23~ | ~a_{2i - 1} = a_{2i}~ với mọi ~i~ |
~33~ | ~n \le 2000~ |
~44~ | Không có ràng buộc gì thêm |
Ví dụ
Dữ liệu (PAIR.inp
)
2
1 2 2 1
Kết quả (PAIR.out
)
4 2 2 4
Giải thích
- Cặp phần tử có giá trị ~1~ xuất hiện tại hai vị trí ~1~ và ~4~.
- Khoảng cách giữa vị trí ~1~ và cặp phần tử có giá trị ~1~ là: $$D(1, 1) = (|x_1 - 1| + 1) \times (|y_1 - 1| + 1) = (|1 - 1| + 1) \times (|4 - 1| + 1) = 4$$
- Cặp phần tử gần nhất với vị trí ~1~ và vị trí ~4~ là cặp phần tử có giá trị ~1~, với khoảng cách là ~4~.
- Cặp phần tử gần nhất với vị trí ~2~ và vị trí ~3~ là cặp phần tử có giá trị ~2~, với khoảng cách là ~2~.
Bình luận