C# ????????????? ??????????: ????? ???????????. ??????? #47

C# ????????????? ??????????: ????? ???????????. ??????? #47

????????

????????????, ??? ????? ???? ???????? ????????? 50 ?????. ?????? ??????? ??? ???????? ???? ????????? ?????. ????? ?????????? ??????????, ???????? ??????? ???? ???????????? ???????, ????? ???? ???????. ?????? ?? ???? ????? ?????????? ???????? - ????? ????? ??????? ????????? ???????????? ????????.

???????? ???????

????? ???????? ?????????? ??????? ???????? ???????? ???????. ??? ???? ????????? ????? ?? ???? ?????? ??? ???????? ???? ?????. ?? ?????? ????? ????? ???????????? ????????!

????? ??????? ???????????

1. ????????? ????????

????? ???????? ??????? ?????? ?????????:

  • ?????? ????????? ?????????? ??????? (n)
  • ????? ???????? ?????? ????
  • ?????? ??????? ??????? (k)
  • ????????? ??????????? ?????????? ???????? ?????

2. ???????? ????????

????????????, ??? ????? 1000 ???? ?? ???? ?????:

  • ????? A: 200 ????
  • ????? B: 350 ????
  • ????? C: 999 ????

????? ???????????

  1. ????????? ??????? ???????? (200, 350, 999)
  2. ?????? ??????? (200) - ????????? 800
  3. ?????? ?????? (350) - ????????? 450
  4. ??????? (999) ??? ?????? - ?? ???????

3. ????? ???????? ?????-?????

// 1. ??????????? ????????
string[] firstLine = Console.ReadLine().Split();
int n = int.Parse(firstLine[0]); // ???????? ?????????
int k = int.Parse(firstLine[1]); // ???????

// 2. ??????? ???????? ?? ????????
int[] prices = Console.ReadLine().Split()
    .Select(int.Parse)
    .OrderBy(x => x) // ????????? ????????
    .ToArray();

// 3. ???????? ?????? ???????
int maxHouses = 0;    // ??????? ????? ???????
int totalCost = 0;    // ?? ????? ?????????

foreach (int price in prices)
{
    if (totalCost + price <= k)  // ?? ???????? ????
    {
        totalCost += price;      // ????????? ?????
        maxHouses++;            // ?????? ?????? ???????? ??????????
    }
    else break;                 // ?? ?? ????????, ?????????
}        

????? ??????? ?????

????????? ???????????

  • ?????? (Array): ???????????? ?????? ??????? ????, ????? ????????? ??????? ???? ?????? ????
  • Split(): ??????? ?????? ?????????/????????? (???: "3 1000" → ["3", "1000"])
  • OrderBy(): ???????? (???????????? ????????? ???????? ?????????)

?????????? ????????

  1. ??????????? ??????: ??????? ??????? ?????? ???????? ?????????? ?? ??????? ????? ??????? - ????? ?????? ????
  2. ????????: ?????? ???????? ????????? ?????? ??? ???????? ??????? ???????!
  3. ?????? ???????: ????????? ??????? ???? ?? ?????? ????????? ?????, ????????? ??????????, ????? ???? ????????


???????

??????? 1:

????????:
3 300
999 999 999

??????????:
0

?????:
- ?????? 300 ????
- ????? ????? ???? 999
- ???? ???? ??? ?????????        

??????? 2:

????????:
3 1000
350 999 200

??????????:
2

?????:
1. ????????: 200, 350, 999
2. ????????? 200-???? (????? 800)
3. ????????? 350-???? (????? 450)
4. 999-????????? ?? ????????
5. ??? ??????? 2 ?????        


??????? ?????????????

  1. ??????? ??????????: ??? ???????? ???????? ????????
  2. ???????: ???????????? ???????????? ???? ????????
  3. ????????? ????? ???????????: ??????? 2-3 ??????
  4. ???????????: ????????? ????????? ?????? ???? ???????????


??????????? ?????????

  1. ???????? ???????? ???, ??? ?????? ??? ??????????? ?????????, ?????? ?????????? ?????? ????
  2. ???????? ???????? ???????? ????????? ???????????
  3. ?????????? ??? ?????? ?????????, ?????? ?????? ???????? ???????


???????

????? ??????????? ???? ??????? ?? ???????? ??? ???????????? ?????????? ?????????????. ????? ????????? ?? ????????? ????????? ??????, ?????? ???? ??????????? (?????? ????? ?????????) ???????? ?????????.


??????? ????????

  1. ?????? ??????? ?????????? ???????
  2. ?????????? ???? ????? ???????????
  3. ????????? ????? ?????? ?? ?????????????

要查看或添加评论,请登录