153082025-02-18 09:49:01AblablablaDarabolás (50 pont)cpp17Accepted 50/5083ms3516 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

vector<ll> alap;

struct comp{
    bool operator()(ll a, ll b){
        return alap[a] > alap[b];
    }
};

int main()
{
    ll n, m;
    cin >> n >> m;
    n--; m--;
    ll k = n + m;

    alap.assign(k, 0);
    for(ll &x : alap) cin >> x;

    vector<ll> ind(k);
    iota(ind.begin(), ind.end(), 0);

    sort(ind.begin(), ind.end(), comp());

    ll fugg = 1, viz = 1;
    ll ans = 0;

    for(ll x : ind){
        if(x < n){ // vizszllesen megy a vagas
            ans += fugg * alap[x];
            viz++;
        } else{
            ans += viz * alap[x];
            fugg++;
        }
    }

    cout << ans << "\n";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/046ms2096 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted1/11ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms316 KiB
8Accepted1/11ms316 KiB
9Accepted1/11ms316 KiB
10Accepted1/11ms316 KiB
11Accepted1/11ms316 KiB
12Accepted1/11ms500 KiB
13Accepted1/11ms316 KiB
14Accepted1/11ms316 KiB
15Accepted1/12ms316 KiB
16Accepted1/11ms536 KiB
17Accepted1/12ms316 KiB
18Accepted1/12ms316 KiB
19Accepted2/22ms316 KiB
20Accepted2/22ms432 KiB
21Accepted3/34ms476 KiB
22Accepted3/38ms564 KiB
23Accepted4/423ms1100 KiB
24Accepted4/423ms1092 KiB
25Accepted4/445ms2132 KiB
26Accepted4/445ms2036 KiB
27Accepted4/482ms3420 KiB
28Accepted4/483ms3516 KiB