Pagini recente » Cod sursa (job #1058927) | Cod sursa (job #1423716)
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,m,v[100001],i,j,poz1,poz2,k;
int x,y;
void solve0()
{
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) g<<poz1<<'\n';
else g<<poz2<<'\n';
}
void solve1()
{
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) g<<poz1<<'\n';
else g<<poz2<<'\n';
}
void solve2()
{
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) g<<poz2<<'\n';
else g<<poz1<<'\n';
}
int main()
{ f>>n;
for (i=1;i<=n;i++)f>>v[i];
f>>m;
for (k=1;k<=m;k++)
{
f>>x>>y;
if (x==0)solve0();
else if (x==1)solve1();
else solve2();
}
g.close();
return 0;
}