154792025-02-19 20:19:00antiDarabolás (50 pont)cpp17Accepted 50/5090ms1844 KiB
#include <iostream>
#include <algorithm>

using namespace std;

struct vagas{
    int ar, ind;
};

bool comp(vagas a, vagas b){
    if(a.ar != b.ar){
        return a.ar > b.ar;
    }else{
        return a.ind < b.ind;
    }
}

int main()
{
    long long n, m;
    cin >> m >> n;
    long long k = n+m-2;
    vagas T[k];
    for(int i=0; i<k; i++){
        cin >> T[i].ar;
        T[i].ind = i;
    }
    sort(T, T+n+m-2, comp);
    long long V=1, F=1;
    long long ossz=0;
    for(int i=0; i<k; i++){
        if(T[i].ind < m-1){
            ossz += T[i].ar * V;
            F++;
        }
        else{
            ossz += T[i].ar * F;
            V++;
        }
    }
    cout << ossz;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/048ms1076 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/11ms508 KiB
12Accepted1/11ms508 KiB
13Accepted1/11ms316 KiB
14Accepted1/11ms508 KiB
15Accepted1/11ms316 KiB
16Accepted1/11ms316 KiB
17Accepted1/12ms408 KiB
18Accepted1/12ms316 KiB
19Accepted2/22ms316 KiB
20Accepted2/22ms316 KiB
21Accepted3/34ms660 KiB
22Accepted3/38ms528 KiB
23Accepted4/424ms608 KiB
24Accepted4/425ms720 KiB
25Accepted4/448ms1144 KiB
26Accepted4/448ms1252 KiB
27Accepted4/490ms1844 KiB
28Accepted4/490ms1844 KiB