prices - Cân bằng giá
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: ngoclannt

Có n sản phẩm trong cửa hàng. Giá của sản phẩm thứ i là a[i]. Chủ cửa hàng muốn thay đổi giá của tất cả các sản phẩm thành b. Tuy nhiên, anh muốn thay đổi giá mới b phải là số nguyên, độ lệch giữa giá mới và giá cũ không quá k (nghĩa là |a[i] – b| ≤ k) và b ≥ 0.

Anh ta có thể thay đổi giá của mỗi sản phẩm không quá 1 lần và có thể giữ nguôn giá cũ của một số sản phẩm.

Nhiệm cụ của bạn là tìm ra mức giá mới b tối đa có thể của tất cả các sản phẩm với các yêu cầu như đã nêu trên.

Bạn phải trả lời q truy vấn độc lập

Đầu vào

Dòng đầu tiên của đầu vào chứa một số nguyên q là số lượng truy vấn. Mỗi truy vấn gồm hai dòng:

- Dòng đầu tiên chứa hai số nguyên n và k;

- Dòng thứ hai chứa n số nguyên a[1], a[2], …, a[n], trong đó a[i] là giá của sản phẩm thứ i.

Ràng buộc

1 ≤ q ≤ 100; 1 ≤ n ≤ 100, 1 ≤ k ≤ 108; 1 ≤ a[i] ≤ 108

Đầu ra:

In ra q dòng, trong đó số nguyên thứ i là câu trả lời của truy vấn thứ i. Cụ thể, nếu có thể thực hiện được yêu cầu đề bài thì in ra giá b lớn nhất có thể. Ngược lại, in ra số -1.

Ví dụ

  • input
    4
    5 1
    1 1 2 3 1
    4 2
    6 4 8 5
    2 2
    1 6
    3 5
    5 2 5
    output
    2
    6
    -1
    7

Truy vấn 1: Bạn có thể chọn giá b = 2. Chênh lệch giữa mỗi giá cũ và giá mới b = 2 là không quá k = 1

Truy vấn 2: Bạn có thể chọn giá b = 6. Chênh lệch giữa mỗi giá cũ và giá mới b = 2 là không quá k = 2

Truy vấn 3: Bạn không thể chọn bất kì giá b nào phù hợp

Truy vấn 4: Tất cả các giá trị b thuộc [1,7] là hợp lệ. Nhưng tối đa là 7, vì vậy 7 là câu trả lời.

Back to Top