Pagini recente » Cod sursa (job #467183) | Borderou de evaluare (job #3150521) | Cod sursa (job #3350404) | Cod sursa (job #1670183) | Cod sursa (job #738563)
Cod sursa(job #738563)
#include <fstream>
#include <cstdlib>
#include <iterator>
#include <algorithm>
using namespace std;
const int N_MAX=100011;
int v[N_MAX];
pair<int*, int*> pr;
int main()
{
int N, M, i, op, x;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
in>>N;
for(i=1; i <= N; ++i)
in>>v[i];
for(in>>M; M; --M)
{
in>>op>>x;
pr=equal_range(v+1, v+N+1, x);
if(0 == op)
{
if(pr.first-v == N+1 || x != *(pr.first))
out<<"-1\n";
else out<<(pr.second-v-1)<<'\n';
}
else if(1 == op)
out<<(pr.second-v-1)<<'\n';
else out<<(pr.first-v)<<'\n';
}
return EXIT_SUCCESS;
}