125342024-12-21 15:41:18PappMatyasOsztozkodás (75 pont)cpp17Hibás válasz 33/7561ms976 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;
    bm = bs;
    int sum = as + bs - a - b;
    for(int i = k - 1; i >= 0; i--)
    {
        if(i % 2 != n % 2)
        {
            if(sum + a > am && (ab == 1 || ab == 0))
            {
                am = sum + a;
                bm = b;
                ab = 1;
            }
            a+=S[i];
        }
        else
        {
            if(sum + b > bm && (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
base33/75
1Elfogadva0/01ms320 KiB
2Elfogadva0/01ms320 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva3/31ms508 KiB
5Elfogadva3/31ms320 KiB
6Hibás válasz0/22ms320 KiB
7Hibás válasz0/32ms332 KiB
8Hibás válasz0/23ms416 KiB
9Hibás válasz0/32ms320 KiB
10Hibás válasz0/22ms320 KiB
11Hibás válasz0/32ms320 KiB
12Hibás válasz0/157ms976 KiB
13Hibás válasz0/257ms808 KiB
14Hibás válasz0/157ms804 KiB
15Hibás válasz0/257ms804 KiB
16Elfogadva1/132ms568 KiB
17Elfogadva2/241ms568 KiB
18Elfogadva1/132ms568 KiB
19Elfogadva2/227ms568 KiB
20Elfogadva2/228ms568 KiB
21Hibás válasz0/346ms756 KiB
22Elfogadva2/239ms568 KiB
23Hibás válasz0/343ms808 KiB
24Hibás válasz0/246ms568 KiB
25Hibás válasz0/346ms596 KiB
26Hibás válasz0/246ms568 KiB
27Hibás válasz0/361ms804 KiB
28Hibás válasz0/261ms568 KiB
29Hibás válasz0/357ms804 KiB
30Elfogadva3/31ms320 KiB
31Elfogadva3/31ms320 KiB
32Elfogadva3/31ms320 KiB
33Elfogadva3/31ms320 KiB
34Elfogadva3/31ms320 KiB