ĐOẠN THẲNG

Trên trục Ox có \(n\) điểm đánh số từ 1 đến \(n\), điểm thứ \(i\) ở vị trí có toạ độ \(x_{i}\ (1 \leq i \leq n)\). Mỗi điểm được tô một trong ba màu xanh, đỏ, vàng. Hãy tìm trên trục số một đoạn thẳng thoả mãn hay điều kiện sau:

- Trong đoạn thẳng đó mỗi màu xuất hiện một lần.

- Độ dài đoạn thẳng là nhỏ nhất.

Dữ liệu vào:

+ Dòng đầu tiên chứa số nguyên dương \(n\ (1 \leq n \leq 10^{6})\).

+ \(n\) dòng tiếp theo, mỗi dòng chứa hai giá trị \(x_{i},\ m_{i}\), trong đó \(x_{i}\) cho biết toạ độ của điểm thứ \(i\) trên trục số \((1 \leq x_{i} \leq 10^{9},1 \leq i \leq n)\); số \(m_{i}\) kí hiệu màu của các điểm, \(m_{i} = 1\) là màu xanh, \(m_{i} = 2\) là màu đỏ, \(m_{i} = 3\) là màu vàng.

Kết quả:

+ Một số là độ dài đoạn thẳng thoả mãn yêu cầu bài toán, nếu không tìm thấy đoạn thẳng nao thoản mãn yêu cầu thì ghi \(- 1\)

Ví dụ

Input Output
6
2 1
4 1
5 2
7 2
8 3
10 3
4

Ràng buộc:

+ Có 30% số test tương ứng 30% số điểm có \(1 \leq n \leq \ 10^{2}\);

+ Có 30% số test khác tương ứng 30% số điểm có \(1 \leq n \leq 10^{3}\);

+ Có 40% số test còn lại tương ứng 40% số điểm không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (17/23)
  2. ducanhbc (16/23)
  3. duythai (12/18)
Trong 7 ngày
  1. haiyen2011 (69/149)
  2. khanhchi_29 (66/81)
  3. qtaydzs1tg (65/98)
Trong 30 ngày
  1. nongvantien11 (115/189)
  2. trungo0 (112/199)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41020

Lưu Hải Phong - 2020
[email protected]