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: 17458

Problemset: แคง (Kang)

Language: cpp

Time: 2.095 second

Submitted On: 2025-05-27 20:46:23

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

vector<ll> capsize(vector<int> A, vector<int> B) {
  map<ll, ll> cnt;
  ll sum = 0;
  for (int x : A) cnt[x]++, sum += x;
  int k = 0;
  vector<ll> ans;
  for (int x : B) {
    k++;
    cnt[x]++;
    priority_queue<ll> pq;
    for (auto p : cnt) pq.push(p.first * p.second);
    sum += x;
    ll nsum = sum;
    for (int i = 0;i < k && pq.size();i++) {
      nsum -= pq.top();
      pq.pop();
    }
    ans.push_back(nsum);
  }

  return ans;
}