«pobeda-2014» имя входного файла: pobeda.in имя выходного файла: pobeda.out ограничение по времени: 2 секунды ограничение по памяти: 256 мегабайт как известно, современные видеокарты умеют формировать изображения с использованием только треугольников. видеокарта pobeda-2014 не отстает от современных тенденций. известно, что она умеет отображать только прямоугольные равнобедренные треугольники четырех типов ориентации, представленные на рисунках ниже. изменять ориентацию этих треугольников видеокарта не может. длина катета каждого из представленных выше треугольников равна одному сантиметру. за один такт видеокарта не может отобразить более чем ai треугольников i-того типа. необходимо определить максимально возможную длину стороны квадрата, который может быть изображен видеокартой на экране монитора за один такт. при этом квадрат должен быть расположен так, чтобы его стороны были параллельны краям монитора. требуется написать программу, которая решает поставленную . формат входного файла первая строка входного файла содержит разделенные пробелами четыре целых числа: a1, a2, a3, a4 (0 ≤ a1, a2, a3, a4 ≤ 1018). входные данные могут превышать максимальные значения для 32 битного типа данных. формат выходного файла выходной файл должен содержать одно число – максимально возможную длину стороны квадрата.
На паскале решение выглядит так:
var
s,a1,a2,a3,a4:int64;
i,o:text;
function min(x,y:int64):int64;
begin
if x>y then
min:=y else
min:=x;
end;
begin
assign(i,'pobeda.in');
reset(i);
read(i,a1,a2,a3,a4);
close(i);
s:=min(a1,a2)+min(a3,a4);
assign(o,'pobeda.out');
rewrite(o);
writeln(o,trunc(sqrt(s)));
close(o);
end.
Если ты пишешь на другом языке программирования, то могу коротко рассказать суть решения. Большой квадрат со стороной x получается из x^2 маленьких квадратом, которые состоят из двух прямоугольных треугольников. Такие квадраты можно составить из треугольников a1 и a2 или a3 и a4. Поэтому берём минимальное значение из a1 и a2 и минимальное из a3 и a4. Суммируем эти значения, берём корень и округляем в меньшую степень.