Advertisement
1WaKa_WaKa1

Task_L

Apr 18th, 2022
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <stack>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.  
  9.     //Ввод данных
  10.     int n, k;
  11.     stack<pair<int, int>> window1, window2;
  12.     cin >> n >> k;
  13.  
  14.     //Тело программы
  15.     for (int i = 0; i < k; i++){
  16.         int element;
  17.         cin >> element;
  18.         int minimal = window1.empty() ? element : min(element, window1.top().second);
  19.         window1.push(make_pair(element, minimal));
  20.     }
  21.  
  22.     if (window1.empty() || window2.empty()){
  23.         int temp = window1.empty() ? window2.top().second : window1.top().second;
  24.         cout << temp << " ";
  25.     } else {
  26.         int temp = min(window1.top().second, window2.top().second);
  27.         cout << temp << " ";
  28.     }
  29.  
  30.     n = n - k;
  31.     while (n != 0){
  32.         if (window2.empty()) {
  33.             while (!window1.empty()) {
  34.                 int element = window1.top().first;
  35.                 window1.pop();
  36.                 int tempMin = window2.empty() ? element : min(element, window2.top().second);
  37.                 window2.push(make_pair(element, tempMin));
  38.             }
  39.         }
  40.         window2.pop();
  41.  
  42.         int temp;
  43.         cin >> temp;
  44.  
  45.         int minimal = window1.empty() ? temp : min(temp, window1.top().second);
  46.         window1.push(make_pair(temp, minimal));
  47.  
  48.         if (window1.empty() || window2.empty()){
  49.             temp = window1.empty() ? window2.top().second : window1.top().second;
  50.             cout << temp << " ";
  51.         } else {
  52.             temp = min(window1.top().second, window2.top().second);
  53.             cout << temp << " ";
  54.         }
  55.         n--;
  56.     }
  57.     return 0;
  58. }
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement