Cod sursa(job #256001)

Utilizator dinuddinu dan dinud Data 10 februarie 2009 22:40:42
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>

long i,p,u,v[100],m,n,x;


int main () {
    
    FILE * f = fopen("cautbin.in","r");
    FILE * g = fopen("cautbin.out","w");
    
    fscanf(f,"%ld",&n);
    for(i=1;i<=n;i++)
                     fscanf(f,"%ld",&v[i]);
    fscanf(f,"%ld",&m);
    for(i=1;i<=m;i++)
                     fscanf(f,"%ld %ld",&p,&u);
    
     while (p<=u) {
           m = (p+u)/2;  
           if (v[m]==x)
              break;
           if (v[m]<x)
                      p = m+1;
             else
                      u = m-1;
  }

   if (p==u)
            fprintf(g,"%ld\n",m);
            fprintf(g,"%ld\n",m-1);
            fprintf(g,"%ld\n",m+1);
      else
            printf("-1\n");
                   
                         
    fclose(f);
    fclose(g);
    
    
    
    
    
    
    
    
    
    
    
return 0;
}