Pagini recente » Cod sursa (job #1914564) | Cod sursa (job #127049) | Cod sursa (job #1352776) | Cod sursa (job #1388170) | Cod sursa (job #1497842)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("cautbin.in");
ofstream g ("cautbin.out");
int i,n,v[100],gasit,mij,pi,pj,x,m,intr;
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>v[i];
f>>m;
while(m)
{
gasit=0;
f>>intr>>x;
pi=1;
pj=n;
while(pi<=pj&&gasit==0)
{
mij=(pi+pj)/2;
if(v[mij]==x)
gasit=1;
else
{
if(v[mij]<x)
pi=mij+1;
else
pj=mij-1;
}
}
if(intr==0&&gasit==1)
{
while(v[mij]==v[mij+1])
mij++;
g<<mij<<endl;
}
else if(intr==0&&gasit==0)
g<<-1<<endl;
else if(intr==1&&gasit==1)
{
while(v[mij]==v[mij+1])
mij++;
g<<mij<<endl;
}
else if(intr==1&&gasit==0)
g<<mij+1<<endl;
else if(intr==2&&gasit==1)
{
while(v[mij]==v[mij-1])
mij--;
g<<mij<<endl;
}
else
g<<mij;
m--;
}
return 0;
}