Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <algorithm>
  5. #include <map>
  6. #include <iomanip>
  7. #include <cmath>
  8. #include <stack>
  9. #include <set>
  10. using namespace std;
  11. int main() {
  12. long long int n, m, l;
  13. cin >> n >> m >> l;
  14. vector<long int> c(n), b(m);
  15. for (long int i = 0; i < n; ++i) {
  16. cin >> c[i];
  17. }
  18. // считал наши ai бутылки с водой и пихаю их в мультисет
  19. multiset <long int> a(c.begin(), c.end());
  20. for (long int i = 0; i < m; ++i) {
  21. cin >> b[i];
  22. }
  23. long int ans = 0;
  24. //в цикле нахожу наибольшее число в set, которое меньше или равно bi. удаляю это число и на его место ставлю bi. уменьшаю оставшееся кол-во воды l
  25. for (long int i = 0; i < m; ++i) {
  26. auto low = a.lower_bound(b[i]);
  27. if (low != a.end()) {
  28. if (b[i] == *low) {
  29. ans++;
  30. continue;
  31. }
  32. }
  33. if (low != a.begin())
  34. --low;
  35. if (b[i] < *low) {
  36. break;
  37. }
  38. l -= (b[i] - *low);
  39. if (l < 0) {
  40. break;
  41. }
  42. a.erase(low);
  43. a.insert(b[i]);
  44. ++ans;
  45. }
  46. //вывожу ответ кек
  47. cout << ans;
  48. system("pause");
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement