Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34

Меньшие или равные

24.09.2019, 23:56. Показов 3044. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть проблема. Дана задача, вроде все случаи расписал, а проверяющая система выдает ошибку. Подскажите, как исправить код?
C. Меньшие или равные
ограничение по времени на тест2 секунды
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Вам задана последовательность длины n целых чисел и целое число k. Ваша задача состоит в том, чтобы вывести любое целое число x из отрезка [1;109] (то есть 1≤x≤109) такое, что ровно k элементов заданной последовательности меньше либо равны x.

Заметьте, что последовательность может содержать равные элементы.

Если искомого x не существует, выведите «-1» (без кавычек).

Входные данные
Первая строка входных данных содержит два целых числа n и k (1≤n≤2⋅105, 0≤k≤n). Вторая строка входных данных содержит n целых чисел a1,a2,…,an (1≤ai≤109) — сама последовательность.

Выходные данные
Выведите любое целое число x из отрезка [1;109] такое, что ровно k элементов заданной последовательности меньше либо равны x.

Если не существует такого x, выведите «-1» (без кавычек).

Примеры
входные данныеСкопировать
7 4
3 7 5 1 10 3 20
выходные данныеСкопировать
6
входные данныеСкопировать
7 2
3 7 5 1 10 3 20
выходные данныеСкопировать
-1
Примечание
В первом тестовом примере 5 тоже может являться правильным ответом, потому что элементы с индексами [1,3,4,6] меньше либо равны 5 и, очевидно, меньше либо равны 6.

Во втором тестовом примере невозможно выбрать такое число, что только 2 элемента заданной последовательности будут меньше либо равны ему, поскольку 3 элемента заданной последовательности тоже будут меньше либо равны этому числу.
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
n, k = map(int, input().split())
a = [int(s) for s in input().split()]
n = 1 
while n < len(a):
     for i in range(len(a)-n):
          if a[i] > a[i+1]:
               a[i],a[i+1] = a[i+1],a[i]
     n += 1
if k==0:
     print(-1)
else:
     if k>n:
                     print(-1)
     else:
          if n==k:
               if k==1:
                    print(a[0])
               elif a[k-1]==a[k-2]:
                    print(-1)
               else:
                    print(a[k-1])
          else:
               if k==1:
                    list2 = list(set(a))
                    for i in range(len(list2)):
                         hh = list2[i]
                         for j in range(len(a)):
                             if hh == a[j]:
                                  print(-1)
                             break
               elif a[k]==a[k-1]:
                    print(-1)
               else:
                    print(a[k-1]+1)
Помогите пожалуйста, очень прошу
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2019, 23:56
Ответы с готовыми решениями:

Вывести все простые числа, меньшие или равные м.
 Чтение с клавиатуры положительное целое значение м.  печатает все простые числа, меньшие или равные м. Пример: Ниже приведен...

Напечатать все совершенные числа, меньшие или равные заданному числу
Спасибо заранее тем, кто может помочь У меня есть вопрос, чтобы написать на языке C Напишите функцию, чтобы напечатать все...

Получить все члены последовательности меньшие или равные заданному числу
Дано действительное число b&gt;0. Последовательность a1, a2,… образована по следующему закону: a1=1, a2=2*a1+1, …, ai+1=2*ai+1 (i=2,3,…)....

3
 Аватар для __ALPHA__
302 / 160 / 87
Регистрация: 16.04.2018
Сообщений: 239
25.09.2019, 00:22
Может, так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n, k = map(int, input().split())
lst = list(map(int, input().split()))
 
flag = True
for x in range(1, 110):
    result = len([True for elem in lst if elem <= x])
    if result == k:
        print(x)
        flag = False
        break
    
if flag:
    print('-1')
0
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
26.09.2019, 00:07  [ТС]
Цитата Сообщение от __ALPHA__ Посмотреть сообщение
for x in range(1, 110):
почему 110?
Проходит не всё. Или, может, я что-то не понимаю?
Цитата Сообщение от __ALPHA__ Посмотреть сообщение
flag = True
А с флагом идея хорошая
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
26.09.2019, 02:21
Python
1
2
3
4
5
6
7
from heapq import nsmallest
 
n, k = map(int, input().split())
a = list(map(int, input().split()))
result = nsmallest(k + 1, a)[-2:]
print(result)
print(result[0] if (len(result) == 1 or len(result) > 1 and result[0] != result[1]) and 1 <= result[0] <= 109 else -1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2019, 02:21
Помогаю со студенческими работами здесь

Дано действительное число b>0. Последовательность a1, a2,… Требуется получить все a1, a2,…, меньшие или равные b.
Дано действительное число b&gt;0. Последовательность a1, a2,… образована по следующему закону: a1=1, a2=2*a1+1, …, ai+1=2*ai+1 (i=2,3,…)....

Определить все члены последовательности, меньшие или равные заданного действительного числа
Определить все члены последовательности, меньшие или равные заданного действительного числа b, если члены последовательности образуются по...

Определить все члены последовательности, меньшие или равные заданного действительного числа
Определить все члены последовательности, меньшие или равные заданного действительного числа d если члены последователньости образуються по...

Напишите программу, которая отображает на экране нечетные натуральные числа, меньшие или равные N
Напишите программу, которая отображает на экране нечетные натуральные числа, меньшие или равные N P.S как можно скорее....

Удалить в упорядоченном по убыванию массиве числа меньшие или равные среднему арифметическому элементов массива
Удалить в упорядоченном по убыванию массиве числа меньшие или равные среднему арифметическому элементов массива Можно пожалуйста...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru