Submission

Status:

(PPPPPPPPPPPPPP)(PPPPPPPPPPP)(PPPPPPPPP)(PPPPPPPPPP)(PPPPPPPPPP)(TSSSSSSSSSSSSS)(TSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

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

Score: 48

User: foldnut

Problemset: แคง (Kang)

Language: cpp

Time: 2.098 second

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

#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<ll, ll> fq;
    for(int j = 0;j<n;j++) fq[a[j]]++;
    for(int j = 0;j<=i;j++) fq[b[j]]++;
    priority_queue<ll> 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;
}