blob: f4e495201596a36f2d635503e206c01498cbe29f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
namespace ch_1;
public static class Ch1
{
public static void Main(string[] args)
{
var ints = args.Select(int.Parse).ToArray();
var middleIndex = ints.LeftRightSums()
.Select((sums, idx) => (sums, idx))
.FirstOrDefault(x => x.sums.leftSum == x.sums.rightSum,
defaultValue: (sums: (leftSum: 0, rightSum: 0), idx: -1))
.idx;
Console.WriteLine(middleIndex);
}
private static IEnumerable<(int leftSum, int rightSum)> LeftRightSums(this int[] ints)
{
var totalSum = ints.Sum();
var leftSum = 0;
foreach (var item in ints)
{
var rightSum = totalSum - leftSum - item;
yield return (leftSum, rightSum);
leftSum += item;
}
}
}
|