Pagini recente » Cod sursa (job #624981) | Cod sursa (job #1961417) | Cod sursa (job #322314) | Cod sursa (job #981252) | Cod sursa (job #472558)
Cod sursa(job #472558)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
vector<unsigned int> sir;
vector<unsigned int>::iterator iter;
int val, i, n, m, command;
int main()
{
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f >> n;
for( i = 0; i < n; i++ )
{
f >> val;
sir.push_back( val );
}
f >> m;
for( i = 0; i < m; i++ )
{
f >> command >> val;
switch( command )
{
case 0:
{
if ( binary_search(sir.begin(), sir.end(), val ) )
{
iter = upper_bound(sir.begin(), sir.end(), val );
g << int( iter - sir.begin() ) << "\n";
}
else
g << "-1\n";
break;
}
case 1:
{
iter = lower_bound( sir.begin(), sir.end(), val + 1 );
g << int ( iter - sir.begin() ) << "\n";
break;
}
case 2:
{
iter = upper_bound( sir.begin(), sir.end(), val - 1 );
g << int ( iter - sir.begin() ) + 1 << "\n";
break;
}
}
}
return 0;
}