Pagini recente » Borderou de evaluare (job #1013485) | Cod sursa (job #2852321) | Cod sursa (job #2661110) | Borderou de evaluare (job #3185087) | Cod sursa (job #2203194)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d", &n);
int v[n];
int nr;
int operatii[nr][2];
for(int i = 0; i < n; i++)
{
scanf("%d", &v[i]);
}
scanf("%d", &nr);
for(int i = 0; i < nr; i++)
{
scanf("%d %d", &operatii[i][0], &operatii[i][1]);
}
int start = 0;
int end = n - 1;
int index = -1;
while(start <= end)
{
int mid = start + (end - start)/2;
if(operatii[0][1] == v[mid]) {
index = mid;
start = mid + 1;
}
else if(v[mid] < operatii[0][1])
{
start = mid + 1;
}
else if(v[mid] > operatii[0][1])
{
end = mid - 1;
}
}
printf("%d\n", index+1);
fflush(stdout);
start = 0;
end = n - 1;
index = -1;
while(start <= end)
{
int mid = start + (end - start)/2;
if(v[mid] <= operatii[1][1]) {
index = mid;
start = mid + 1;
}
else if(v[mid] > operatii[1][1])
{
end = mid - 1;
}
}
printf("%d\n", index+1);
fflush(stdout);
start = 0;
end = n - 1;
index = -1;
while(start <= end)
{
int mid = start + (end - start)/2;
if(operatii[2][1] <= v[mid]) {
index = mid;
end = mid - 1;
}
else if(v[mid] < operatii[1][1])
{
start = mid + 1;
}
}
printf("%d\n", index+1);
fflush(stdout);
return 0;
}