Guest User

Untitled

a guest
Dec 12th, 2015
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. #include <algorithm>
  5. #include <stdio.h>
  6.  
  7. std::vector<int> A, B, C;
  8.  
  9. void build(const std::vector<int> A, int k, int razmer){
  10.     int n = razmer;
  11.     B.resize(n);
  12.     C.resize(n);
  13.     B.front() = A.front();
  14.     C.back() = A.back();
  15.  
  16.     k--;
  17.  
  18.     for(int i1(1), i2(n - 2); i1 < n; i1++, i2--){
  19.         B[i1] = (i1 % k) ? std::max(A[i1], B[i1 - 1]) : A[i1];
  20.         C[i2] = ((i2 + 1) % k) ? std::max(A[i2], C[i2 + 1]) : A[i2];
  21.     }
  22. }
  23.  
  24. int main(){
  25.     int m, count;
  26.     A.resize(100001);
  27.     scanf("%d", &m);
  28.     count = 0;
  29.  
  30.     while(true){
  31.         scanf("%d", &A[count]);
  32.         if(A[count] == -1) break;
  33.         count++;
  34.     }
  35.  
  36.     build(A, m, count);
  37.     int l = 0;
  38.     while(count - 1 >= m){
  39.         printf("%d\n", std::max(C[l], B[l + m - 1]));
  40.         l++;
  41.     }
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment