Pagini recente » Cod sursa (job #331911) | Cod sursa (job #2475961) | Cod sursa (job #1936534)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
vector <int> numbers;
int totalNumbers, questions;
int main(){
fin >>totalNumbers;
for ( int number, index = 1; index <= totalNumbers; index++ ){
fin >> number;
numbers.push_back(number);
}
fin >> questions;
for ( int operation, searchedNumber; questions; questions-- ){
fin >> operation >> searchedNumber;
vector <int> :: iterator position;
switch(operation){
case 0:
position = upper_bound(numbers.begin(), numbers.end(), searchedNumber);
if ( position >= numbers.begin() and position <= numbers.end() )
fout << position - numbers.begin() << "\n";
else
fout << -1 << "\n";
break;
case 1:
position = lower_bound(numbers.begin(), numbers.end(), searchedNumber+1);
fout << position - numbers.begin() << "\n";
break;
case 2:
position = upper_bound(numbers.begin(), numbers.end(), searchedNumber-1);
fout << position - numbers.begin() << "\n";
break;
}
}
}