18 lines
372 B
D
18 lines
372 B
D
import std.stdio, std.algorithm;
|
|
|
|
size_t[] equilibrium(T)(in T[] items) @safe pure nothrow {
|
|
size_t[] result;
|
|
T left = 0, right = items.sum;
|
|
|
|
foreach (immutable i, e; items) {
|
|
right -= e;
|
|
if (right == left)
|
|
result ~= i;
|
|
left += e;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
void main() {
|
|
[-7, 1, 5, 2, -4, 3, 0].equilibrium.writeln;
|
|
}
|