Josif_tepe

Untitled

Nov 19th, 2025
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <iostream>
  2. #include <map>
  3. #include <set>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int n;
  10.     cin >> n;
  11.    
  12.     vector<int> daski(n);
  13.     for(int i = 0; i < n; i++) {
  14.         cin >> daski[i];
  15.     }
  16.    
  17.     sort(daski.begin(), daski.end());
  18.    
  19.     vector<pair<int, int>> v(n);
  20.    
  21.     for(int i = 0; i < n; i++) {
  22.         cin >> v[i].first >> v[i].second;
  23.     }
  24.    
  25.     sort(v.begin(), v.end(), [](const auto &a, const auto &b) {
  26.         return a.second > b.second;
  27.     });
  28.    
  29.     long long res = 0;
  30.     for(int i = 0; i < n; i++) {
  31.         int visina = v[i].first;
  32.        
  33.         int idx = (int) (upper_bound(daski.begin(), daski.end(), visina) - daski.begin());
  34.        
  35.        
  36.         idx--;
  37.         if(idx >= 0 and idx < (int) daski.size()) {
  38.             if(daski[idx] <= v[i].first) {
  39.                 res += v[i].second;
  40.                 daski.erase(daski.begin() + idx);
  41.             }
  42.            
  43.            
  44.          
  45.         }
  46.        
  47.     }
  48.     cout << res << endl;
  49.     return 0;
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment