Pagini recente » Cod sursa (job #1753641) | Cod sursa (job #3252045) | Cod sursa (job #1202942) | Cod sursa (job #1760293) | Cod sursa (job #922333)
Cod sursa(job #922333)
#include <iostream>
#include <fstream>
using namespace std;
int a[100001],n,x,y,i,k,ok,j,m;
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
fin>>n;
for(i=1;i<=n;i++)fin>>a[i];
fin>>m;
for(k=1;k<=m;k++)
{
fin>>y>>x;
if(y==0)
{
ok=0;
for(i=1;i<=n;i++)if(a[i]==x)ok=1;
if(ok==1)
{ i=1;j=n;
y=(i+j)/2;
while(a[y]!=x)
{
if(a[y]<x)i=y;
else j=y;
y=(i+j)/2;
}
while(a[y+1]==x)
{
y++;
}
fout<<y;
}
else fout<<-1;
fout<<"\n";
}
if(y==1)
{
i=n;
while(a[i]>x)
{
i--;
}
fout<<i<<"\n";
}
if(y==2)
{
i=1;
while(a[i]<x)
{
i++;
}
fout<<i<<"\n";
}
}
fin.close();
fout.close();
return 0;
}