3 / 3 / 2
Регистрация: 18.05.2014
Сообщений: 203
|
||||||
1 | ||||||
Ошибка во время выполнения программы21.01.2015, 01:11. Показов 1536. Ответов 6
Метки нет (Все метки)
Здравствуйте, есть задача
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке. Входные данные В первой строке входных данных записано два числа N и M (1NM20000 ). Во второй строке записано N упорядоченных по неубыванию целых чисел — элементы первого списка. В третьей строке записаны M целых неотрицательных чисел - элементы второго списка. Все числа в списках - целые 32-битные знаковые. Выходные данные Программа должна вывести M строчек. Для каждого числа из второго списка нужно вывести номер его первого и последнего вхождения в первый список. Нумерация начинается с единицы. Если число не входит в первый список, нужно вывести одно число 0. Примеры входные данные 10 5 1 1 3 3 5 7 9 18 18 57 57 3 9 1 179 выходные данные 10 10 3 4 7 7 1 2 0 Я решил её путем бинарного поиска первого индекса вхождения и линейного поиска второго индекса конца вхождения , т.к. пока хз как там находить второй индекс через бинарник. Не проходит всего 1 тест и пишет ошибку из заголовка вот код
0
|
21.01.2015, 01:11 | |
Ответы с готовыми решениями:
6
Ошибка во время выполнения программы Ошибка во время выполнения программы. Ошибка во время выполнения программы Укажите где ошибка (ошибка во время выполнения программы) |
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
21.01.2015, 03:36 | 2 | |||||
0
|
3 / 3 / 2
Регистрация: 18.05.2014
Сообщений: 203
|
|
21.01.2015, 20:05 [ТС] | 3 |
Что не так? Это такой способ решения, сложность получается O(N*K) + logN , вроде того, по времени проходит, поясните, я не так давно на ++
0
|
Модератор
13706 / 10909 / 6473
Регистрация: 18.12.2011
Сообщений: 29,126
|
|||||||||||
21.01.2015, 20:10 | 4 | ||||||||||
Они будут сразу упорядоченны. Поиск вести функцией find. Вот пример из Мюссера. Подробнее не могу - гриппом болею
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
21.01.2015, 20:24 | 6 |
Если это нужно для решения задачи - решение не правильное. Если это способ тестирования - перебор! Создайте ну 500-1000 объектов - сделайте замер времени вначале перед вызовом метода поиска и после. Узнаете за сколько он отработал - запустите несколько раз. Профит.
P.S. В код не вникал я уверен никто как и я после строки в 8 ГБ ОЗУ.
0
|
3 / 3 / 2
Регистрация: 18.05.2014
Сообщений: 203
|
||||||
21.01.2015, 21:04 [ТС] | 7 | |||||
По поводу 8 гб озу, в задаче нет ограничения на элементы массива, поэтому я взял что-то большое. Вообще задачу сдал еще вчера вот таким кодом
0
|
21.01.2015, 21:04 | |
21.01.2015, 21:04 | |
Помогаю со студенческими работами здесь
7
Ошибка во время выполнения программы (размещения с повторениями) Во время выполнения программы результат не выводится. Где ошибка? Ошибка во время выполнения программы (структуры, массивы структур, указатели на структуру) Время выполнения программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |