Submission

Status:

(PPPPPPPPPPPP-S)(PPPPPP-SSSS)(PPPPPPPPP)(PPP-SSSSSS)(PPPPP-SSSS)(TSSSSSSSSSSSSS)(TSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

{0/5}{0/7}{8/8}{0/12}{0/16}{0/28}{0/24}

Score: 8

User: foldnut

Problemset: แคง (Kang)

Language: cpp

Time: 2.087 second

Submitted On: 2026-03-31 20:24:01

#include <bits/stdc++.h>
#define ll long long
using namespace std;

vector<ll> capsize(vector<int> a, vector<int> b){
  int n = a.size(), m = b.size();
  vector<ll> ans(m);
  for(int i = 0;i<m;i++){
    map<int, int> fq;
    for(int j = 0;j<n;j++) fq[a[j]]++;
    for(int j = 0;j<=i;j++) fq[b[j]]++;
    priority_queue<int> pq;
    for(auto &[x, y] : fq){
      pq.push(x * y);
      ans[i] += x * y;
    }
    int cnt = 0;
    while(!pq.empty() && cnt <= i){
      ans[i] -= pq.top();
      pq.pop();
      ++cnt;
    }
  }
  return ans;
}