Pagini recente » Cod sursa (job #2322584) | Cod sursa (job #1460703) | Cod sursa (job #1772800) | Cod sursa (job #2872880) | Cod sursa (job #1424818)
#include <fstream>
using namespace std;
ifstream file_in("cautbin.in");
ofstream file_out("cautbin.out");
int main()
{
/*int n, i = 0, m, tip, pas, sir[100001], x;
file_in >> n;
for(int j = 0; j < n; j++)
{
file_in >> sir[j];
}
file_in >> m;
for(int j = 0; j < m; j++)
{
file_in >> tip >> x;
pas = 1 << 16;
if(tip == 0 || tip == 1)
{
i = 0;
while(pas != 0)
{
if((i + pas) < n && sir[i+pas-1] <= x)
i+=pas;
pas/=2;
}
if(tip == 0 && sir[i-1]!=x)
file_out << -1 << "\n";
else
file_out << i << "\n";
}
else
{
i=0;
while(pas!=0)
{
if((i+pas)<=n && sir[i+pas-1]<x)
i+=pas;
pas/=2;
}
file_out << i+1 <<"\n";
}
}
return 0;*/
int n,m,i,j,a,x,L,pas;
f>>n;
for(i=1;i<=n;i++)f>>v[i];
f>>m;
for(j=1;j<=m;j++)
{
f>>a>>x;
pas=1<<16;
if(a==0||a==1)
{ i=0;
while(pas!=0)
{
if((i+pas)<=n&&v[i+pas]<=x)i+=pas;
pas/=2;}
if(a==0&&v[i]!=x)g<<-1<<'\n';
else g<<i<<'\n';
}
else if(a==2)
{
i=0;
while(pas!=0)
{
if((i+pas)<=n&&v[i+pas]<x)i+=pas;
pas/=2;
}
g<<i+1<<'\n';
}
}
return 0;
}