제출 #1333447

#제출 시각아이디문제언어결과실행 시간메모리
1333447edga1Self Study (JOI22_ho_t2)C++20
62 / 100
1095 ms17532 KiB
#include <bits/stdc++.h>

using namespace std;

#define FIO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define ll long long
#define pb push_back
#define fi first
#define se second

const ll N = 2e5 + 5;
const ll MOD = 1e9 + 7;
const ll INF = 2e18;

int main(){
    FIO
    ll n,m; cin>>n>>m;
    vector<ll> a(n),b(n);
    for(ll i=0; i<n; i++) cin>>a[i];
    for(ll i=0; i<n; i++) cin>>b[i];
    auto cmp =[](array<ll,3> a, array<ll,3> b){return a[0]>b[0];};
    priority_queue<array<ll,3>, vector<array<ll,3>>, decltype(cmp)> pq(cmp);
    for(ll i=0; i<n; i++) pq.push({0,i,0});
    for(ll i=0; i<n*m; i++){
        auto au=pq.top();
        pq.pop();
        if(au[2]<m) au[0]+=max(a[au[1]],b[au[1]]);
        else au[0]+=b[au[1]];
        au[2]++;
        pq.push(au);
    }
    auto au=pq.top();
    cout<<au[0];
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...