Pagini recente » Cod sursa (job #2714342) | Cod sursa (job #2553620) | Cod sursa (job #224112) | Cod sursa (job #1688648) | Cod sursa (job #2336266)
#include <fstream>
#include <algorithm>
#define DIM 100000
using namespace std;
ofstream fout("cautbin.out");
char buff [DIM];
int p = DIM-1;
void inc(){
p++;
if (p == DIM){
fread (buff, 1, DIM, stdin);
p=0;
}
}
void read(int &x){
while (buff[p] < '0' || buff[p] > '9')
inc();
x = 0;
while (buff [p] >= '0' && buff[p] <= '9'){
x = 10*x + buff[p] - '0';
inc();
}
}
int n, v[100000], i, m, t, k;
int cb0 (int x){
int i;
for (i = n;i >= 1;i--)
if (v[i] == x)
return i+1;
return -1;
}
int cb1 (int x){
int i;
for (i = n;i >= 1 && v[i] > x;i--);
return i-1;
}
int cb2 (int x){
int i;
for (i = 1;i <= n && v[i] < x;i++);
return i+1;
}
int main(){
freopen ("cautbin.in", "r", stdin);
read(n);
for (i = 0;i < n;i++){
read(v[i]);
}
read(m);
while (m){
m--;
read (t);
read (k);
if (t == 0)
fout << cb0(k) << '\n';
else if (t == 1)
fout << cb1(k) << '\n';
else fout << cb2(k) << '\n';
}
return 0;
}