Да, просто запустите что-то вроде следующего:
maxf(s) {
if (s == sink) return s.in_capacity;
ret = 0;
foreach(c in children(s)) ret += maxf(c);
return min(ret, s.in_capacity);
}
Используйте начальный вызов с s равным источнику (мы предполагаем, что источник имеет бесконечность in_capacity).