На днях в Московский зоопарк прибыли новые жильцы — целых N канареек. Пока бедные птенцы томятся в неудобных временных контейнерах, в зале заседаний зоопарка на Совете орнитологов решается их судьба. А именно, ученым предстоит решить, как лучше всего распределить N канареек по имеющимся в зоопарке K клеткам так, чтобы при этом ни одна клетка не пустовала. Поскольку главным критерием при размещении птиц является комфорт, орнитологов в первую очередь интересует, сколько канареек окажется в самой заполненной клетке (то есть в клетке с максимальным числом канареек). Для начала, Вам, как главному (и, как это ни печально, единственному) программисту зоопарка, поручили оценить эту величину, то есть найти, какое минимально и максимально возможное количество птиц может оказаться в самой заполненной клетке при условии, что ни одна клетка не останется пустой.
Входные данные
В единственной строке содержатся два натуральных числа, разделенных пробелом: N — количество канареек и K — количество клеток ( 1 ≤ K ≤ N ≤ 10 9 ).
Выходные данные
Выведите два натуральных числа: минимально и максимально возможное количество канареек в самой заполненной клетке.
Answers & Comments
#include <iostream>
using namespace std;
int main(){
int64_t n,k,minz,maxz=0;
cin>>n>>k;
minz=(n+k-1)/k;
maxz=n-k+1;
cout<<minz<<" "<<maxz<<endl;
return 0;
}
Решение на pascal( не проверял на правильность ):
var n, k, minz, maxz:integer;
begin
readln(n, k);
minz := (n + k - 1) div k;
maxz := n - k + 1;
writeln( minz, maxz );
end.