125322024-12-21 15:39:37PappMatyasOsztozkodás (75 pont)cpp17Hibás válasz 0/7561ms808 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;


// 10 5
int main()
{
    int n, k, a = 0, b = 0, as, bs, am, bm;
    int ab = 0;
    vector<int> S;
    cin >> n >> k;
    S.resize(n);
    for(int i = 0; i < n; i++)
    {
        cin >> S[i];
    }
    sort(S.begin(), S.end());
    for(int i = n - 1; i >= k; i--)
    {
        if(i % 2 != n % 2)
        {
            a+=S[i];
        }
        else
        {
            b+=S[i];
        }
    }
    as = a;
    bs = b;
    for(int i = k - 1; i >= 0; i--)
    {
        if(i % 2 != n % 2)
        {
            as+=S[i];
        }
        else
        {
            bs+=S[i];
        }
    }
    am = as;
    ab = bs;
    int sum = as + bs - a - b;
    for(int i = k - 1; i >= 0; i--)
    {
        if(i % 2 != n % 2)
        {
            if(sum + a > as && (ab == 1 || ab == 0))
            {
                am = sum + a;
                bm = b;
                ab = 1;
            }
            a+=S[i];
        }
        else
        {
            if(sum + b > bs && (ab == 2 || ab == 0))
            {
                bm = sum + b;
                am = a;
                ab = 2;
            }
            b+=S[i];
        }
        sum-=S[i];
    }
    cout << am << " " << bm;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/75
1Hibás válasz0/01ms320 KiB
2Hibás válasz0/01ms320 KiB
3Hibás válasz0/21ms320 KiB
4Hibás válasz0/31ms508 KiB
5Hibás válasz0/31ms320 KiB
6Hibás válasz0/22ms320 KiB
7Hibás válasz0/32ms520 KiB
8Hibás válasz0/22ms320 KiB
9Hibás válasz0/32ms320 KiB
10Hibás válasz0/22ms320 KiB
11Hibás válasz0/33ms520 KiB
12Hibás válasz0/157ms808 KiB
13Hibás válasz0/257ms568 KiB
14Hibás válasz0/157ms568 KiB
15Hibás válasz0/257ms704 KiB
16Hibás válasz0/132ms568 KiB
17Hibás válasz0/241ms760 KiB
18Hibás válasz0/132ms568 KiB
19Hibás válasz0/227ms808 KiB
20Hibás válasz0/228ms568 KiB
21Hibás válasz0/346ms568 KiB
22Hibás válasz0/239ms568 KiB
23Hibás válasz0/343ms568 KiB
24Hibás válasz0/246ms572 KiB
25Hibás válasz0/346ms568 KiB
26Hibás válasz0/246ms800 KiB
27Hibás válasz0/361ms568 KiB
28Hibás válasz0/261ms568 KiB
29Hibás válasz0/357ms568 KiB
30Hibás válasz0/31ms320 KiB
31Hibás válasz0/31ms364 KiB
32Hibás válasz0/31ms500 KiB
33Hibás válasz0/31ms320 KiB
34Hibás válasz0/31ms320 KiB