7. Бинарный поиск._ Практика-1.1

☰ Теория

Пояснение к решению
1. Найдите лучшие приближения "слева" (значение выражения < 0) и "справа" (значения выражения \(\geq 0\))
2. Сравните абсолютные значения этих выражений. Без использования операций **, pow, sqrt это можно сделать так
пусть Xl, Yl  - решение "слева", а Xr, Yr - решение справа. Тогда
\(|\sqrt a\cdot X_l + \sqrt b\cdot Y_l| \leq |\sqrt a\cdot X_r + \sqrt b\cdot Y_r| <=> \\ a\cdot (X_l^2 - X_r^2) + b\cdot( Y_l^2 - Y_r^2) \leq 2\sqrt {a\cdot b}(X_r\cdot Y_r- X_l\cdot Y_l) \)
вычислив \(|z_1 =a\cdot (X_l^2 - X_r^2) + b\cdot( Y_l^2 - Y_r^2);\ z_2 =(X_r\cdot Y_r- X_l\cdot Y_l) \) 
и сравнив знаки z1 ,z2  можно определить какое из значений лучше

Для уравнения \(\sqrt a\cdot x + \sqrt b \cdot y = 0\ (a, b -\ различные\ натуральные\ числа)\) 
найдите "приблеженное решение", удовлетворящее следующим условиям:
  1. x, y - целые числа и  x < y 
  2. |x| + |y| < K (K - натуральное число, значение которого заданы заранее)
  3. \(|\sqrt a\cdot x + \sqrt b \cdot y|\) имеет минимальное значение среди всех x, y удовлетворяющих пунктам 1, 2
Входные данные : 
Значения a, b, K (a, b < 1020, 1 < K < 1012
Выходные данные:
Два целых числа - значения x, y

Не рекомендуется использовать вещественные числа и математические функции (возведение в степень, извлечение корня)
 
Примеры
Входные данныеВыходные данные
1 2 3 100
-49 40
2 4 9 1000
-3 2
3 12345 98760 1000000
-665857 235416

Напишите программу
Auto
       

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя