Изучаю теорию по бинарному поиску. В качестве практики предложено несколько задач, одну из которых я не могу решить http://informatics.mccme.ru/moodle/mod/statements/view.php?id=192#1 Мой код:| Код | #include <iostream> using namespace std; const int MAX_N = 10001;
bool BinSearch(long a[], long k, long N) { long from = 0, to = N-1, m; while (from < to) { m = (from+to) / 2; if (a[m] < k) from = m+1; else to = m; } if (a[to] == k) return true; else return false; }
int main() { long N, K, a[MAX_N], b[MAX_N];
cin >> N >> K; for (long i = 0; i < N; i++) cin >> a[i]; for (long i = 0; i < K; i++) cin >> b[i];
for (long i = 0; i < K; i++) { if (BinSearch(a, b[i], N)) cout << "YES"; else cout << "NO"; cout << endl; } return 0; }
|
Не могу понять в чём проблема. Программа проходит 6 тестов, остальные нет. Содержание тестов я не знаю. |