Pagini recente » Cod sursa (job #1407459) | Cod sursa (job #3169217) | Cod sursa (job #2303264) | Cod sursa (job #1500777) | Cod sursa (job #344642)
Cod sursa(job #344642)
#include <iostream.h>
void main()
{
int n,m,inc,sf,mij,pb,x,sir[10000],gasit;
cin>>n;cin>>m;
for(x=1;x<=n;x++)
cin>>sir[x];
while(m!=0)
{ cin>>pb; cin>>x;
inc=1; sf=n; mij=(inc+sf)/2; gasit=0;
if(pb==0)
{ while((inc<=sf)&&(gasit==0))
{ if(x==sir[mij])
{ gasit=1;
cout<<mij;
}
else if(x<=sir[mij]) sf=mij-1;
else inc=mij+1;
}
if (gasit==0) cout<<"-1";
}
if (pb==1)
{ while((inc<=sf)&&(gasit==0))
{ if(x==sir[mij])
{ gasit=1;
cout<<mij;
}
else if(sir[mij-1]<x)
{ cout<<mij-1;
gasit==1;
}
else sf=mij-1;
}
}
if(pb==2)
{ while((inc<=sf)&&(gasit==0))
{ if((sir[mij]>x)&&(sir[mij-1]<x))
{cout<<mij;
gasit=1;
}
else sf=mij-1;
}
}
m--;
}
return 0;
}