Pagini recente » Monitorul de evaluare | Cod sursa (job #1342998) | Cod sursa (job #175939) | Cod sursa (job #2985576) | Cod sursa (job #899140)
Cod sursa(job #899140)
# include <fstream>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int operatie_0(int p,int u, int x)
{
int m;
while(p<=u)
{
m = p+ (u-p)/2;
if(v[m]<=x) p=m+1;
else u=m-1;
}
m = p + (u-p)/2;
if(v[m]>x) m--;
if(v[m]==x) return m;
return -1;
}
int main()
{
cin >> n;
for(i=1;i<=n;i++)
{
cin >> v[i];
}
cin >> nr_operatii;
for(i=1;i<=nr_operatii;i++)
{
cin >> tip >> x;
if(tip==0)
operatie_0(1,n,x);
if(tip==1)
operatie_1(1,n,x);
if(tip==2)
operatie_2(1,n,x);
}
}