Advertisement
Ankit_132

D

Apr 29th, 2024
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define int long long
  5.  
  6. signed main(){
  7.     int tst;
  8.     cin>>tst;
  9.    
  10.     while(tst--){
  11.         int n, k;
  12.         cin >> n >> k;
  13.        
  14.         vector<pair<int, int>> c(n + 1);
  15.         for (int i = 1; i <= n; i++) {
  16.             cin >> c[i].second;
  17.         }
  18.        
  19.         int res = 0;
  20.         for (int i = 1; i <= n; i++) {
  21.             cin >> c[i].first;
  22.             res += max(0ll, c[i].first - c[i].second);
  23.         }
  24.        
  25.         sort(c.begin() + 1, c.end());
  26.        
  27.         priority_queue<int> q;
  28.        
  29.         int ans = 0, sum = 0;
  30.         for (int i = n; i; i--) {
  31.             if (i <= n - k) {
  32.                 ans = max(ans, res - sum);
  33.             }
  34.             q.push(c[i].second);
  35.             sum += c[i].second;
  36.             if (q.size() > k) {
  37.                 sum -= q.top();
  38.                 q.pop();
  39.             }
  40.            
  41.             res -= max(0ll, c[i].first - c[i].second);
  42.         }
  43.        
  44.         cout << ans << "\n";
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement