Дистанционная подготовка: Просьба о совете
Просьба о совете
от Игорь Болотников - Среда 8 Июль 2015, 17:43
2. Приближенный двоичный поиск
 

include

include

using std::cin; using std::cout; using std::endl; using std::abs;

int main() { int i, Med, n, h, s, R, L, j, otvet, dt; cin >> n >> s; int a[n + 1]; a[n] = a[n - 1]; for(i = 0; i < n; ++i) cin >> a[i]; for(i = 0; i < s; ++i) { cin >> h; R = 0; L = n; while(L > R + 1) { Med = (R + L) / 2; if(h < a[Med]) L = Med; else R = Med; } delta = a[n] - a[0]; for(j = R; j <= L; ++j) { if(abs(h - a[j]) < dt) { dt = abs(h - a[j]); otvet = a[j]; } } cout << otvet << endl; } cin >> i;

return 0;

}