KHÁCH HÀNG MAY MẮN

Xem PDF



Thời gian:
Scratch 2.0s

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 Thời gian: 1.0s Bộ nhớ: 256M Input: KHMM.INP Output: KHMM.OUT

Nhân dịp năm mới, để thu hút khách hàng đến mua sắm, siêu thị Hùng Vương tổ chức chương trình khách hàng may mắn: mỗi khách hàng đến siêu thị đều nhận được một con số may mắn. Khách hàng thứ \(i\) nhận số may mắn là số nguyên \(a_i\) được tạo tự động bằng máy tính. Kết thúc chương trình có \(n\) khách hàng nhận được số may mắn. Ban tổ chức tiến hành quay số trúng thưởng, những khách hàng may mắn sẽ nhận được phần thưởng của siêu thị.

Để đảm bảo tính khách quan, Ban tổ chức nhờ một khách hàng bất kỳ tham gia nhập hai số nguyên \(x, y\) (\(1 \le x, y \le n\)), sau đó sử dụng một chương trình máy tính để tìm ra hai số \(u, v\) (\(0 < u \le v \le 10^9\)) thỏa mãn các điều kiện sau:

  • Số lượng người có số may mắn \(a_i\) thỏa mãn (\(u \le a_i \le v\)) tối thiểu là \(x\).
  • Số lượng người có số may mắn \(a_i\) thỏa mãn (\(u \le -a_i \le v\)) tối thiểu là \(y\).
  • Hiệu \(|v - u|\) là nhỏ nhất.

Sau khi tìm được hai số \(u, v\) thỏa mãn các điều kiện trên, khách hàng có số may mắn \(a_i\) thỏa mãn (\(u \le |a_i| \le v\)) sẽ được nhận phần thưởng của siêu thị.

Yêu cầu

Hãy giúp Ban tổ chức tìm hai số \(u, v\) thỏa mãn các điều kiện trên.

Dữ liệu vào

Nhập từ bàn phím (các số cách nhau một dấu cách):

  • Dòng đầu tiên chứa ba số nguyên dương \(n, x, y\) (\(1 \le n \le 2 \cdot 10^5; z, y \le n\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(0 < |a_1| < |a_2| < \dots < |a_n| < 10^9\)).

Kết quả

In ra màn hình một dòng duy nhất là hai số \(u, v\) tìm được (các số cách nhau một dấu cách).

  • Nếu có nhiều cặp \((u, v)\) thỏa mãn bài toán thì in ra cặp có \(u\) nhỏ nhất.
  • Nếu không tìm được \(u, v\) thỏa mãn yêu cầu thì in ra -1.

Example

Test 1

Input
4 1 2
1 -2 3 -4
Output
1 3
Note

Có 3 cặp số \([u, v]\) thỏa mãn các điều kiện:
* Cặp \((u = 1, v = 4)\)\(|v - u| = 3\).
* Cặp \((u = 1, v = 3)\)\(|v - u| = 2\).
* Cặp \((u = 2, v = 4)\)\(|v - u| = 2\).

Chọn cặp \((u = 1, v = 3)\)\(|v - u| = 2\) nhỏ nhất và \((u, v)\)\(u\) nhỏ nhất.

Ràng buộc

  • Subtask 1 (50% số điểm): \(n \le 2 \cdot 10^3; |a_i| \le 10^9\).
  • Subtask 2 (30% số điểm): \(2 \cdot 10^3 < n \le 2 \cdot 10^5; |a_i| \le 10^6\).
  • Subtask 3 (20% số điểm): \(2 \cdot 10^3 < n \le 2 \cdot 10^5; |a_i| \le 10^9\).

Bình luận (1)

Mới nhất
Tải bình luận...