using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
var tupleList = new List<(int, decimal)>();
tupleList.Add((200,0.16m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((66,0.79m));
tupleList.Add((53,0.32m));
SolvedProblemRoundNumber(tupleList, 721);
foreach(var item in tupleList) {
Console.WriteLine($"{item.Item1}, {item.Item2}");
Console.WriteLine($"{tupleList.Sum(e => e.Item1)} - {total}");
public static void SolvedProblemRoundNumber(List<(int original, decimal decimalPart)> listInputs, decimal totalMoney)
Func<bool> isNeedRound = () => listInputs.Sum(e => e.original) < totalMoney;
decimal[] decimalPartOrderDesc = listInputs
.OrderByDescending(e => e.decimalPart)
.Select(e => e.decimalPart)
foreach (var maxItem in decimalPartOrderDesc)
for (int i = 0; i < listInputs.Count - 1; i++)
if (listInputs[i].decimalPart == maxItem)
listInputs[i] = listInputs[i] with
original = listInputs[i].original + 1