Pagini recente » Cod sursa (job #762859) | Cod sursa (job #2356745) | Cod sursa (job #2755747) | Cod sursa (job #1634517) | Cod sursa (job #749008)
Cod sursa(job #749008)
//Include
#include <fstream>
using namespace std;
//Constante
const int MAX_SIZE = (int)1e5+1;
//Variabile
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int elements, questions;
int values[MAX_SIZE];
//Main
int main()
{
in >> elements;
for(int i=0 ; i<elements ; ++i)
in >> values[i];
in >> questions;
int type, value;
int *pos, *end = values+elements;
while(questions--)
{
in >> type >> value;
switch(type)
{
case 0:
{
out << ((*((pos = upper_bound(values, end, value))-1) == value)? pos - values : -1) << '\n';
break;
}
case 2:
{
out << lower_bound(values, end, value) - values + 1 << '\n';
break;
}
default: out << upper_bound(values, end, value) - values << '\n';
}
}
in.close();
out.close();
return 0;
}