#include <algorithm> #include <vector> class Finder { public: int findElement(vector<int> A, int n, int x) { // write code here int pos = 0; for (int i = 0; i < n - 1; ++i) { if (A[i] > A[i + 1]) { pos = i + 1; break; } } int start = pos; int end = n - 1; while (start <= end) { int mid = (start + end) / 2; if (A[mid] == x) return mid; if (A[mid] > x ) end = mid - 1; if (A[mid] < x) start = mid + 1; } start = 0; end = pos - 1; while (start <= end) { int mid = (start + end) / 2; if (A[mid] == x) return mid; if (A[mid] > x ) end = mid - 1; if (A[mid] < x) start = mid + 1; } return -1; } };