Pagini recente » Cod sursa (job #26862) | Cod sursa (job #2091349) | Cod sursa (job #768409) | Cod sursa (job #2509971) | Cod sursa (job #1631030)
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int v[100001];
int main()
{
int n,m,i,gasit=0,st,dr,mij,nr,gasit1,max=0,c,z,d;
in>>n;
st=0;
dr=n-1;
for(i=1; i<=n; i++)
{
in>>v[i];
}
in>>m;
c=m;
while(gasit==0 && st<=dr)
{
mij=(st+dr)/2;
if(m>v[mij])
st=mij+1;
else if(m<v[mij])
dr=mij-1;
else if(m==v[mij])
{
gasit=1;
nr=mij;
}
}
while(c!=0)
{
in>>d;
in>>m;
if(d==0)
{
while(v[nr]==m)
{
nr++;
}
out<<nr-1<<'\n';
}
if(d==1)
{
out<<nr-1<<'\n';
}
if(d==2)
{
out<<mij;
}
c--;
}
return 0;
}