Pagini recente » Cod sursa (job #2606191) | Cod sursa (job #2345272) | Cod sursa (job #626160) | Cod sursa (job #3228674) | Cod sursa (job #273304)
Cod sursa(job #273304)
#include<fstream.h>
unsigned long v[10000],ok;
int main()
{unsigned long a,n,m,i,m1,j,li,ls,x;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f>>m1;
for(i=1;i<=m1;i++)
{f>>a>>x;
if(a==0){ok=0;li=1;ls=n;
while(ok==0&&li<=ls)
{m=(li+ls)/2;
if(x==v[m])ok=1;
else if (x<v[m])ls=m-1;
else li=m+1;
}
if(ok)g<<ls<<'\n';
else g<<-1<<'\n';
}
else if(a==1){ok=0;li=1;ls=n;
while(ok==0&&li<=ls)
{m=(li+ls)/2;
if(x==v[m])ok=1;
else if (x<v[m])ls=m-1;
else li=m+1;
}
if(ok)g<<ls-1<<'\n';
else g<<ls<<'\n';
}
else if(a==2){ok=0;li=1;ls=n;
while(ok==0&&li<=ls)
{m=(li+ls)/2;
if(x==v[m])ok=1;
else if(x<v[m])ls=m-1;
else li=m+1;
}
if(ok)g<<li+1<<'\n';
else g<<li<<'\n';
}
}
f.close();
g.close();
return 0;
}