Pagini recente » Cod sursa (job #906928) | Cod sursa (job #1714106) | Cod sursa (job #172433) | Cod sursa (job #2909987) | Cod sursa (job #950302)
Cod sursa(job #950302)
#include<fstream>
using namespace std;
const int kstart = 1 << 16;
int array[100005];
int main(){
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n;
in >> n;
for(int i = 1; i <= n; ++i)
in >> array[i];
int m;
in >> m;
for(int i = 1; i <= m; ++i){
int tip, query;
in >> tip >> query;
int ans = 0;
if(tip == 2)
--query;
for(int i = kstart; i; i >>= 1)
if(ans + i <= n)
if(array[ans + i] <= query)
ans += i;
if(tip == 0)
if(array[ans] != query)
ans = -1;
if(tip == 2)
++ans;
out << ans << "\n";
}
return 0;
}