Pagini recente » Cod sursa (job #2906082) | Monitorul de evaluare | Cod sursa (job #1791247) | Cod sursa (job #1486731) | Cod sursa (job #914764)
Cod sursa(job #914764)
#include <iostream>
#include <fstream>
using namespace std;
int a[100001],b[100001],n,m,x,y,i,k;
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x;
if(x!=y)k=0;
if(k==0){b[x]=i;a[x]=i;k=1;}
if(k==1) a[x]=i;
y=x;
}
fin>>m;
for(i=1;i<=m;i++)
{
fin>>y>>x;
if(y==0)
{
if(a[x]>0)fout<<a[x];
else fout<<-1;
fout<<"\n";
}
if(y==1)
{
while(a[x]==0)x--;
fout<<a[x];
fout<<"\n";
}
if(y==2)
{
while(b[x]==0)x++;
fout<<b[x];
}
}
fin.close();
fout.close();
return 0;
}