You have to apply binary search on the answer (maximum possible amount of energy that can remain in each of accumulators after the transfers of energy).
Assume you have a function check(x), which returns true if it is possible to transfer energy in a way that each accumulator has at least x amount of energy at the end. It is trivial that if check(x) is true, check(y) for y < x is also true. Now binary search can give you the maximum amount of energy that can remain in each of accumulators by calling check() function.
You have to apply binary search on the answer (maximum possible amount of energy that can remain in each of accumulators after the transfers of energy).
Assume you have a function check(x), which returns true if it is possible to transfer energy in a way that each accumulator has at least x amount of energy at the end. It is trivial that if check(x) is true, check(y) for y < x is also true. Now binary search can give you the maximum amount of energy that can remain in each of accumulators by calling check() function.