Пассажиры - [1] уровень

Условие:
На конференцию приехало N человек. Для их перевоза выделили автомобили вместимостью K и M человек (без водителя). К гостинице автомобили подаются в таком порядке: сначала вместимостью K человек, потом - M человек, после этого опять - K человек, потом M человек и так далее. В автомобиле можно перевозить не более максимально допустимого количества пассажиров. Определить, сколько необходимо автомобилей для перевозки всех делегатов конференции.


Технические условия:
Программа должна читать исходные данные из файла input.txt, первая строка которого содержит количество делегатов, а вторая и третья - числа K и M. В файл output.txt должно выводиться количество машин, необходимых для перевозки всех делегатов.

Примеры входного и выходного файлов:

Input.txt

Output.txt

20
3
4

6

12
2
2

6

25
5
5

5

100
2
1

67

 

Решение:
Идея решения. До тех пор, пока число делегатов не будет равно нулю (пока всех не увезут), отнимаем от числа N число K, затем число M, и так далее...

var
n,k,m:integer;i:integer;f:text;
begin
assign(f,'input.txt');
reset(f);
read(f,n);
read(f,k);
read(f,m);
close(f);
i:=0;
while N>0 do begin
i:=i+1;
if i mod 2<>0 then n:=n-k else N:=N-M;end;{
якщо і непарне веземо k пасажирів інакше M, тобто через раз.}
assign(f,'output.txt');
rewrite(f);
writeln(F,i);
close(f);
end.