n – количество револьверов в магазине с ценами a1, a2,…, an, s – количество долларов у ковбоя Джо.
Формат входных данных
В первой строке даны целые числа n, s (1<= n <= 2 * 10^5, 1 <= s <= 10^9) — количество револьверов в магазине и количество долларов у ковбоя Джо.
Во второй строке даны n целых чисел a1, a2,…, an (1<= ai <= 10^9) — цены револьверов в магазине.
Формат выходных данных
Выведите единственное целое число — цену самого дорого револьвера, который ковбой Джо сможет себе позволить, если такого револьвера нет, выведите 0.
Ответ на языке программирования Java
java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // количество револьверов
int s = scanner.nextInt(); // доллары у Джо
int[] prices = new int[n]; // массив с ценами револьверов
for (int i = 0; i < n; i++) {
prices[i] = scanner.nextInt();
}
Arrays.sort(prices); // сортируем цены в порядке возрастания
int maxPrice = 0; // максимальная цена револьвера, которую Джо сможет себе позволить
for (int i = 0; i < n; i++) {
if (s >= prices[i]) {
maxPrice = prices[i];
}
}
System.out.println(maxPrice);
}
}
В данном решении мы используем класс Scanner для считывания входных данных. Сначала мы считываем количество револьверов и количество долларов у Джо. Затем мы создаем массив для хранения цен револьверов и заполняем его считанными значениями.
После этого мы используем метод Arrays.sort() для сортировки массива с ценами револьверов в порядке возрастания.
Затем мы проходим по каждой цене револьвера в массиве и проверяем, может ли Джо себе позволить эту цену. Если да, то мы обновляем максимальную цену.
Наконец, мы выводим максимальную цену револьвера как ответ на задачу.
Таким образом, наше решение выполняет все необходимые шаги для нахождения максимальной цены револьвера, который может позволить себе Джо, и возвращает эту цену как ответ на задачу.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет