Разбор задачи B. Икебана
Тема: редукция (проверка значений массива на ограничения), на смекалку
Сложность: простая
1. Не имеет смысла стричь какой-либо росток бамбука несколько раз. Высота ростка будет определяться последней стрижкой.
2. Стричь бамбук нужно в последний день соревнований, подрезая все ростки бамбука до высоты `h`. Т.е. требуется не более одной стрижки.
3. Высота `i`-го ростка бамбука в последний день соревнований равна `a_i+b_i*(m-1)`. Эта величина может достигать `10^18`, поэтому для вычислений в языке Pascal нужно использовать тип int64, real, double, extended (long long, double, long double в C/C++).
4. Если какой-то росток в последний день соревнований не дорастет до высоты `h`, то выводим `-1`. Если все ростки будут иметь высоту `h`, то выводим 0, иначе выводим 1.
var i,m,n,h,ans:integer;
ai,bi:real;
begin
readln(n,m,h);
ans:=0;
for i:=1 to n do
begin
readln(ai,bi);
ai:=ai+bi*(m-1);
if ai<h then
begin
ans:=-1;
break;
end;
if ai>h then
ans:=1;
end;
writeln(ans);
end.