Pagini recente » Cod sursa (job #1193564) | Cod sursa (job #2481129) | Cod sursa (job #1811372) | Cod sursa (job #1471946) | Cod sursa (job #1424814)
#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;
}