Advertisement
a53

MaxSecvK

a53
Dec 4th, 2021
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #include <deque>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. ifstream f("maxsecvk.in");
  6. ofstream g("maxsecvk.out");
  7.  
  8. deque <int > deq;
  9. int n, k;
  10. int A[100001];
  11.  
  12. int main()
  13. {
  14. int i;
  15.  
  16. f >> n >> k;
  17. for (i=1; i<=n; ++i)
  18. f >> A[i];
  19.  
  20. for (i=1; i<=k; ++i)
  21. {
  22. while (!deq.empty() && A[deq.back()] <= A[i])
  23. deq.pop_back();
  24.  
  25. deq.push_back(i);
  26. }
  27.  
  28. for ( ; i<=n+1; ++i)
  29. {
  30. g << A[deq.front()] << " ";
  31.  
  32. while (!deq.empty() && deq.front() <= i-k)
  33. deq.pop_front();
  34.  
  35. while (!deq.empty() && A[deq.back()] <= A[i])
  36. deq.pop_back();
  37.  
  38. deq.push_back(i);
  39. }
  40.  
  41. return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement