Pagini recente » Cod sursa (job #1539494) | Cod sursa (job #3223604) | Cod sursa (job #117575) | Cod sursa (job #1879814) | Cod sursa (job #1661889)
#include <fstream>
#include <algorithm>
#define IN "cautbin.in"
#define OUT "cautbin.out"
const int MAX = 100015 ;
using namespace std;
ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;
int v [ MAX ] , n ;
int main()
{
fin >> n ;
for ( register int i = 1 ; i <= n ; ++ i )
fin >> v [ i ] ;
int m ;
fin >> m ;
for ( ; m ; -- m ){
int x , y ;
fin >> x >> y ;
if ( !x ){
int ub = upper_bound ( v + 1 , v + n + 1 , y ) - v - 1 ;
if ( ub <= n and ub >= 1 and v [ ub ] == y )
fout << ub << '\n' ;
else fout << "-1" << '\n' ;
}
if ( x == 1 ){
int lb = lower_bound ( v + 1 , v + n + 1 , y + 1 ) - v - 1 ;
fout << lb << '\n' ;
}
if ( x == 2 ){
int ubb = upper_bound ( v + 1 , v + n + 1 , y - 1 ) - v ;
fout << ubb << '\n' ;
}
}
return 0;
}