Pagini recente » Monitorul de evaluare | Cod sursa (job #1590095) | Statistici Adrian Pop (el3vat1on) | Istoria paginii runda/testfminostres | Cod sursa (job #2458138)
#include <fstream>
using namespace std;
ifstream in ("cautbin.in");
ofstream out ("cautbin.out");
int v[100001];
int cautbin(int start, int stop,int termen)
{
bool ok=0;
int poz=-1,mid;
while(!ok&&start<=stop)
{
mid=(start+stop)/2;
if(v[mid]==termen)
{
poz=mid;
ok=1;
}
else if(v[mid]<termen)
start=mid+1;
else
stop=mid-1;
}
return poz;
}
int main()
{
int N,M,i,a,b,poz;
in>>N;
for(i=0;i<N;i++)
{
in>>v[i];
}
in>>M;
for(i=0;i<M;i++)
{
in>>a;
in>>b;
if(a==0)
{
poz=cautbin(0,N,b);
while(v[poz+=1]==b)
poz++;
out<<--poz;
}
else if(a==1)
{
poz=cautbin(0,N,b);
}
}
return 0;
}