Advertisement
Guest User

oigabi

a guest
Oct 18th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include<iostream>
  2. #include<algorithm>
  3.  
  4. using namespace std;
  5.  
  6. int bb(int arranjo[], int tamanho, int chave){
  7.  
  8.     int i = 0;
  9.     int f = tamanho -1;
  10.     int meio;
  11.    
  12.     while(i <= f){
  13.         meio = (i+f)/2;
  14.         if(arranjo[meio] == chave)
  15.             if(meio == 0 || arranjo[meio-1] != arranjo[meio])
  16.                 return meio;
  17.             else
  18.                 f = meio-1;
  19.         else{  
  20.             if(chave > arranjo[meio])
  21.                 i = meio + 1;
  22.             else
  23.                 f = meio - 1;        
  24.         }
  25.     }
  26.  
  27.     return -1;
  28. }
  29.  
  30. int main(){
  31.  
  32.     int n, q, peca, res, caso = 1;
  33.  
  34.     while(cin >> n >> q, n){
  35.                
  36.         int marmore[n];
  37.        
  38.         for(int i = 0; i < n; i++){
  39.             cin >> marmore[i];
  40.         }
  41.        
  42.         sort(marmore, marmore+n);
  43.        
  44.         cout << "CASE# " << caso <<":" << endl;
  45.         caso++;
  46.         for(int i = 0; i < q; i++){
  47.             cin >> peca;
  48.            
  49.             res = bb(marmore, n, peca);    
  50.             if( res == -1)
  51.                 cout << peca << " not found" << endl;
  52.             else
  53.                 cout << peca << " found at " << res +1 << endl;
  54.         }
  55.     }
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement