Pagini recente » Cod sursa (job #2503517) | Cod sursa (job #1471582) | Cod sursa (job #1964752) | Cod sursa (job #709668)
Cod sursa(job #709668)
//Include
#include <stdio.h>
#include <algorithm>
using namespace std;
//Constante
const int MAX_SIZE = 100001;
//Variabile
FILE *in, *out;
int n, nrIntrebari;
int tip, cautat;
int v[MAX_SIZE];
//Main
int main()
{
in = fopen("cautbin.in","rt");
out = fopen("cautbin.out","wt");
fscanf(in, "%d", &n);
for(int i=0 ; i<n ; ++i)
fscanf(in, "%d",&v[i]);
int *end = v+n;
fscanf(in, "%d", &nrIntrebari);
for(int i=1 ; i<=nrIntrebari ; ++i)
{
fscanf(in, "%d%d", &tip, &cautat);
if(!tip)
{
int *poz = upper_bound(v, end, cautat);
if(poz!=end && *(poz-1)==cautat)
fprintf(out, "%d\n", poz-v);
else fprintf(out, "-1\n");
}
else if(tip==2)
{
int *poz = lower_bound(v, end, cautat);
fprintf(out, "%d\n", (poz-v)+1);
}
else
{
int *poz = upper_bound(v, end, cautat);
fprintf(out, "%d\n", (poz-v));
}
}
fclose(in);
fclose(out);
return 0;
}