Pagini recente » Profil laura02 | Cod sursa (job #2362790) | Cod sursa (job #1500879) | Cod sursa (job #150569) | Cod sursa (job #2074943)
#include <stdio.h>
using namespace std;
int x, st, dr, mij, m, n, a[100000]={0}, p;
void cerinta0(int x)
{
scanf("%d \n", &x);
p=-1;
for(st=0, dr=n-1; st<=dr;)
{
mij=(st+dr)/2;
if(a[mij]<=x)
{
if(a[mij]==x)
p=mij+1;
st=mij+1;
}
else
dr=mij-1;
}
return;
}
void cerinta1(int x)
{
scanf("%d \n", &x);
p=-1;
for(st=0, dr=n-1; st<=dr;)
{
mij=(st+dr)/2;
if(a[mij]<=x)
{
p=mij+1;
st=mij+1;
}
else
dr=mij-1;
}
return;
}
void cerinta2(int x)
{
scanf("%d \n", &x);
p=-1;
for(st=0, dr=n-1; st<=dr;)
{
mij=(st+dr)/2;
if(a[mij]>=x)
{
p=mij+1;
dr=mij-1;
}
else
st=mij+1;
}
return;
}
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d \n", &n);
for(int i=0; i<n; i++)
scanf("%d, ", &a[i]);
scanf("%d \n", &m);
for(int i=0; i<m; i++)
{
int intrebare;
scanf("%d, ", &intrebare);
if(intrebare==0)
cerinta0(x);
else if(intrebare==1)
cerinta1(x);
else if(intrebare==2)
cerinta2(x);
printf("%d \n", p);
}
return 0;
}