мне кажется что ключ list будет очень плохой в плане производительности
Ну технически я не использовал его как ключь, а разбирал словарь через foreach и вытаскивал и ключь и значение отдельно. значение хранит промежуточную сумму. list хранит id элемментов массива, из которых сумма получилась.