fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7. int main() {
  8. int n;
  9. cin >> n;
  10. vector<int> a(n);
  11. for (int i = 0; i < n; i++) {
  12. cin >> a[i];
  13. }
  14. int m;
  15. cin >> m;
  16. vector<pair<int, int>> cond(n);
  17. for (int i = 0; i < m; i++) {
  18. int b, c;
  19. cin >> b >> c;
  20. cond[i] = make_pair(b, c);
  21. }
  22. sort(a.begin(), a.end());
  23. reverse(a.begin(), a.end());
  24. sort(cond.begin(), cond.end());
  25. reverse(cond.begin(), cond.end());
  26. for (int i = 0; i < m; i++) {
  27. cout << cond[i].first << " " << cond[i].second << endl;
  28. }
  29. int j = 0, ans = 0, mini = cond[0].second;
  30. for (int i = 0; i < n; i++) {
  31. while (j < m && cond[j].first >= a[i]) {
  32. cout << cond[j].second << endl;
  33. mini = min(mini, cond[j].second);
  34. j++;
  35. }
  36. ans += mini;
  37. cout << mini << endl;
  38. }
  39. cout << ans;
  40. return 0;
  41. }
Success #stdin #stdout 0s 4292KB
stdin
3
1 2 3
4
1 10
1 5
10 7
2 3
stdout
10 7
1 10
1 5
4113 0
7
7
7
10
5
0
0
14