<span>Если "родителей должно быть не менее одной трети" (т.е. больше или равно), то в первом примере (где n=27, k=7) ответ должен быть 2, а не 3. 7+2=9 - это как раз 1/3 от 27. </span>
var n,k,m:integer;
begin
writeln;
readln(n);
readln(k);
m:=(n-1) div 3+1;
if m-k>0 then writeln(m-k) else writeln(0);
end.
Пример:
27
7
2
1 Надя, 2 Саша,3 Женя ,4 Миша,5 Катя
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <cmath>
int main()
{
int
sum(0), count(0),
A, B;
std::cin >> A >> B;
std::vector<int> vec;
std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), std::back_inserter(vec));
for(auto it = vec.begin(); it != vec.end(); it++)
{
if(A < *it && B > *it && (std::distance(vec.begin(), it) % 4) == 0)
sum += pow(*it, 2);
}
std::cout << "Количество нулей: " << std::count(vec.begin(), vec.end(), 0) << std::endl;
std::cout << "Сумма квадратов чисел: " << sum << std::endl;
}