Hướng dẫn giải của Những hộp kẹo

Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người làm lời giải.


Nộp code mẫu trước khi tự giải được bài tập là một hành vi có thể bị ban.

Tác giả: DangHung845

Subtask 2

  • Dùng Quick Sort hoặc hàm sort() để sắp xếp dãy số.
  • Sau đó tính tổng ~K~ số nguyên đầu (đối với sắp xếp giảm dần) hoặc ~K~ số nguyên cuối (đối với sắp xếp tăng dần).

Lưu ý: Dùng kiểu dữ liệu long long thay cho int đối với ngôn ngữ C++ để xử lí số lớn.

Code tham khảo:

C++
#include <iostream>
#include <algorithm>

using namespace std;

#define maxN (int) 1e6+2
#define ll long long 

ll CandieNum[maxN];

bool cmp(const ll& num1, const ll& num2) {
    return num1 > num2;
}

signed main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int BoxNum,k;

    cin >> BoxNum >> k;
    for (int i = 0; i < BoxNum ; i++) cin >> CandieNum[i];

    sort(CandieNum,CandieNum + BoxNum, cmp);

    ll SumofCandie = 0;
    for (int i = 0 ;i < k; i++) SumofCandie += CandieNum[i];

    cout << SumofCandie;

    return 0;
}
Python3
BoxNumandK = list(map(int,input().split()))
BoxNum = BoxNumandK[0]
k = BoxNumandK[1]
CandieNum = list(map(int,input().split()))
CandieNum.sort(reverse = True)
SumofCandie = 0;
for i in range(0,k):
    SumofCandie = SumofCandie + CandieNum[i]
print(SumofCandie)

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.