Advertisement
Vince14

Haybale Feast

Mar 19th, 2023
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4. #include <algorithm>
  5. #include <cmath>
  6. #include <vector>
  7. #include <set>
  8. #include <map>
  9. #include <stack>
  10. #include <queue>
  11. #include <deque>
  12. #include <unordered_map>
  13. #include <iomanip>
  14. #include <regex>
  15. #include <numeric>
  16. using namespace std;
  17. #define pii pair<long long , long long>
  18. #define FAST ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
  19. const long long dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
  20. const long long MAX = 100005;
  21. const long long MOD = 1000000009;
  22.  
  23. long long n, f;
  24. long long flavor[MAX], spicy[MAX];
  25.  
  26. int main() {
  27.     freopen("hayfeast.in", "r", stdin);
  28.     freopen("hayfeast.out", "w", stdout);
  29.     FAST;
  30.     cin >> n >> f;
  31.     for(long long i = 0; i < n; i++){
  32.         cin >> flavor[i] >> spicy[i];
  33.     }
  34.     multiset<long long> ms;
  35.     ms.insert(spicy[0]);
  36.     long long sum = flavor[0];
  37.     long long hi = 0;
  38.     long long ans = 2e9;
  39.     for(long long lo = 0; lo < n; lo++){
  40.         while(sum < f){
  41.             if(hi == n - 1){
  42.                 break;
  43.             }
  44.             hi++;
  45.             sum += flavor[hi];
  46.             ms.insert(spicy[hi]);
  47.         }
  48.         auto it = ms.end();
  49.         it--;
  50.         if(sum >= f){
  51.             ans = min(ans, *it);
  52.         }
  53.         sum -= flavor[lo];
  54.         ms.erase(ms.find(spicy[lo]));
  55.     }
  56.     cout << ans;
  57.  
  58. }
  59. // 5 10
  60. //4 10
  61. //6 15
  62. //3 5
  63. //4 9
  64. //3 6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement