Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2015, 15:00   #1
nikita_over_9000
Новичок
Джуниор
 
Регистрация: 24.10.2015
Сообщений: 1
По умолчанию Модификация бинарного поиска

даны 2 массива(один отсортирован) нужно вывести да, если есть совпадение цифры из второго массива, иначе нет

Реализация на C.
Вот код, но по времени он не проходит, можете посоветовать, как модифицировать его?

Код:
#include<stdio.h>
main()
{
	int N,K,left,right,g,j;
	
	scanf("%d %d",&N,&K);
	
	int a[N],b[K],i;
	left=g=0,right=j=N;
	
	for(i=0;i<N;i++)scanf("%d",&a[i]);
	for(i=0;i<K;i++)scanf("%d",&b[i]);
	
	int mid;
	mid=(left+right)/2;
	
	for(i=0;i<K;i++){
	
		
		if(a[mid]==b[i]){
			printf("\nYES");continue;}
			
		if(a[N-1]<b[i]){
			printf("\nNO");continue;}
		
		if(a[0]>b[i]){
			printf("\nNO");continue;}
			
		if(a[mid]!=b[i]){
			
			if(a[mid]<b[i]) left = mid;
			else 
				right=mid;
			
			while(right-left>=1){
				mid=(right+left)/2;
				
				if(a[mid]==b[i]){
					printf("\nYES");
					left=g;right=j;break;}
					
				if(a[mid]<b[i])left = mid;
	
    			if(a[mid]>b[i]) right = mid;}
    				
				
				if(a[mid]!=b[i]){
					printf("\nNO");left=g;right=j;}
				
}}}
nikita_over_9000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методом бинарного поиска ALEXandr20333 Паскаль, Turbo Pascal, PascalABC.NET 1 18.06.2014 19:26
Вопрос по коду бинарного поиска Morpho Общие вопросы C/C++ 3 03.05.2013 22:42
Метод бинарного поиска Ксения Юрьевна Помощь студентам 10 16.06.2012 19:18
Дерево бинарного поиска vika911 Помощь студентам 3 17.03.2012 20:57
Модификация алго поиска Детерминанта igsxor Общие вопросы C/C++ 0 02.04.2011 23:14