Pagini recente » Cod sursa (job #216872) | Cod sursa (job #515037) | Cod sursa (job #2045116) | Cod sursa (job #2764014) | Cod sursa (job #292745)
Cod sursa(job #292745)
#include <cstdio>
#define DIM 100005
FILE *out = fopen("cautbin.out", "w");
long long v[DIM], nr;
int n, m, type;
void search(int st, int dr)
{
if (st > dr )
{
if (type == 0)
fprintf(out, "-1\n");
if (type == 2)
fprintf(out, "%d\n", st);
return;
}
if (st == dr && type == 1)
{
fprintf(out, "%d\n", st - 1);
return ;
}
int mij = st + (dr - st) / 2;
if (v[mij] == nr)
{
fprintf(out, "%d\n", mij);
return;
}
if (v[mij] > nr)
search(st, mij - 1);
else
search(mij + 1, dr);
}
int main()
{
FILE *f = fopen("cautbin.in", "r");
fscanf(f, "%d", &n);
int i;
for (i = 1; i <= n; i++)
fscanf(f, "%lld", &v[i]);
fscanf(f, "%d", &m);
for (i = 1; i <= m; i++)
{
fscanf(f, "%d%lld", &type, &nr);
search(1, n);
}
fclose(f);
fclose(out);
return 0;
}