TÓPICO

Wrong answer 50%

Donato Covex perguntou 1 ano atrás

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int 
buscaBinaria (int x, int n, int X[]) {
   int e, m, d;                              
   e = 0; d = n-1;                           
   while (e <= d) {

      m = (e + d)/2;                        
      if (X[m] == x && X[m-1]==x) return m-1;
       if(X[m]==x) return m; 

      if (X[m] < x) e = m + 1;               
      else d = m - 1;  

   }                                         
   return -1;                                
}         
int dividir(int X[],int esq,int dir)
{
    int c,aux;//troca de posições
    int cont = esq;
    for(c=esq+1;c<dir;c++)
    {
        if(X[c]<X[esq])
        {
        cont++;
            aux=X[c];
            X[c] = X[cont];
            X[cont] = aux;

        }
    }
    aux = X[esq];
    X[esq]= X[cont];
    X[cont] = aux;
    return cont;
}
void quick(int X[], int esq,int dir)
{
    int pos;
    if(esq<dir)
    {
        pos = dividir (X,esq,dir);
        quick(X,esq,pos-1);
        quick(X,pos+1,dir);
    }
}

int main(int argc, char *argv[]) {
    int N,Q,i,j=1,b,k,l,m,Y,ver;

   for(;;)
    {
        scanf("%d%d",&N,&Q);
        int X[N];
        for(i=0;i<N;i++)
        {
            scanf("%d",&X[i]);

        }

        if(N==0 && Q==0){
      printf("\n");
      break;
    }
else{
    printf("CASE# %d:\n",j);
    }
        quick(X,0,N);

        for(i=0;i<Q;i++)
        {
          scanf("%d",&Y);
          ver = buscaBinaria(Y,N,X);

        if(ver == -1){
            printf("%d not found\n",Y);
        }else{
                printf("%d found at %d\n",Y,ver+1);
        }

        }

        j++;
    }
    return 0;
}

Estou recebendo wrong answer 50%, entretanto todas as entradas, inclusive as disponível no uDebug funcionam...

Este tópico ainda não foi respondido. Seja o primeiro!

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.