Pagini recente » Cod sursa (job #798781) | Cod sursa (job #3159977) | Cod sursa (job #3131913) | Cod sursa (job #881601) | Cod sursa (job #1396542)
#include <fstream>
using namespace std;
long n,m,v[100001],i,j,poz1,poz2,k;
int x,y;
int main()
{
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
fin>>m;
for (k=1;k<=m;k++)
{
fin>>x>>y;
if (x==0)
{
i=1;
j=n;
poz1=-1;
poz2=-1;
while (i<j)
{
if (v[j]==y) {poz1=j;break;}
else if (v[i]==y) poz2=i;
i++;
j--;
}
if (poz1!=-1) fout<<poz1<<'\n';
else fout<<poz2<<'\n';
}
else if (x==1)
{
i=1;
j=n;
poz1=-1;
poz2=-1;
while (i<j)
{
if (v[j]<=y) {poz1=j;break;}
else if (v[i]<=y) poz2=i;
i++;
j--;
}
if (poz1!=-1) fout<<poz1<<'\n';
else fout<<poz2<<'\n';
}
else
{
i=1;j=n;
poz1=-1;
poz2=-1;
while (i<j)
{
if (v[i]>=y) {poz2=i;break;}
else if (v[j]>=y) {poz1=j;}
i++;
j--;
}
if (poz2!=-1) fout<<poz2<<'\n';
else fout<<poz1<<'\n';
}
}
return 0;
}