Esempio n. 1
0
int buscab (int l, int r, char *pal) {
    int mid;
    if (l == r)
        return l - (strcmp (dic[l], pal) > 0);
    mid = (l + r + 1) / 2;
    if (strcmp (dic[mid], pal) <= 0)
        return buscab (mid, r, pal);
    else
        return buscab (l, mid - 1, pal); 
}
int buscab(int ini, int fim, int encomenda){
	int mid = (ini + fim)/2;
	if (casas[mid] == encomenda) 
		return mid;
	else if (casas[mid] > encomenda)
		return buscab(ini,mid-1,encomenda);
	else if (casas[mid] < encomenda)
		return buscab(mid+1,fim,encomenda);
	else if (fim < ini)
		return -1;
}
int buscab(int ini, int fim, int voltou){
	int mid = (ini + fim)/2;

	if(merg[mid] == voltou) 
		return mid;
	else if(merg[mid] > voltou)
		return buscab(ini, mid -1, voltou);
	else if(merg[mid] < voltou) 
		return buscab(mid +1, fim, voltou);
	else
		return MAX;
	
}
int main(){

	int n,m,encomenda,i,carteiro,ini,fim,tempo,prox;

	while(scanf("%d %d",&n,&m) != EOF){
		
		ini = 0;
		fim = n;
		
		for(i = 0; i < n; i++){
			scanf("%d",&casas[i]);
		}

		carteiro = tempo = 0;
		for(i = 0; i < m; i++){
			scanf("%d",&encomenda);
			prox = buscab(ini,fim,encomenda);
			tempo += abs(prox - carteiro);
			carteiro = prox;
		}

		printf("%d\n",tempo);	
		

	}


	return 0;

}
Esempio n. 5
0
main()
{
	int *v;
	int num,n,i;

	puts("Digite a quantidade de elementos do vetor");
	scanf("%d",&n);
	v=(int*)malloc(n*sizeof(int));
	
	puts("Digite os elementos do vetor");

	for(i=0;i<n;i++)
	{
		printf("\nv[%d]= ",i);
		scanf("%d",&v[i]);
	}
		
	puts("Digite o elemento a ser buscado");
	scanf("%d",&num);

	puts("------------------------------------");
	if(buscab(v,n,num))
		puts("Elemento encontrado!");
	else
		puts("Elemento não encontrado!");

}
int main(){

	int n,r,voltou,vivos[MAX],i;

	while(scanf("%d %d",&n,&r) != EOF){

		

		for(i = 0; i < n; i++){
			merg[i] = i+1;
			vivos[i] = i+1;
		}

		for(i = 0; i < r; i++){
			scanf("%d",&voltou);
			vivos[buscab(0,n,voltou)] = 0;
		}

		if(n == r)
			printf("*");

		else {
			for(i = 0; i < n; i++){
				if(vivos[i])
					printf("%d ",vivos[i]);
			}
		}	

		printf("\n");

	}
	
	return 0;
}