Контест Junior Горутины и планировщик GMP обновлено
Параллельная сумма частей массива на горутинах
Условие
Разбейте массив на k подряд идущих частей почти равной длины: первые n mod k частей на один элемент длиннее (части могут быть пустыми, если k > n). Посчитайте сумму каждой части в отдельной горутине.
Ввод: n k (1 ≤ n ≤ 5000, 1 ≤ k ≤ 64), затем n целых чисел, |aᵢ| ≤ 10⁹.
Вывод: первая строка: k сумм частей по порядку, вторая: общая сумма.
Решение должно быть конкурентным (горутины), а вывод не должен зависеть от порядка их выполнения.
Пример
7 3
1 2 3 4 5 6 7
6 9 13
28
Как подойти
Границы частей через q = n/k и r = n%k, sums[i] по индексу, WaitGroup.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.