Advertisement
jayinnn1

Untitled

Jun 2nd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3. using namespace std;
  4. /*
  5. test data:
  6. 5 2
  7. 1 7 2 3 4
  8. 3
  9. 0
  10. 2
  11. 3
  12.  
  13. */
  14. int main(){
  15.     int n, k, q;
  16.     cin >> n >> k;
  17.     unsigned int a[n];
  18.     unsigned int dp[n];
  19.    
  20.    
  21.     for(int i=0;i<n;i++){
  22.         cin >> a[i];
  23.     }
  24.    
  25.     dp[0] = a[0];
  26.     int min_index = 0;
  27.     for(int i=0;i<k;i++){
  28.         if(a[i] < dp[0]){
  29.             dp[0] = a[i];
  30.             min_index = i;
  31.         }
  32.     }
  33.    
  34.     for(int i=1;i<=n-k;i++){
  35.         if(min_index == i-1){
  36.             dp[i] = a[i];
  37.             min_index = i;
  38.             for(int j=i;j<i+k;j++){
  39.                 if(a[j] < dp[i]){
  40.                     dp[i] = a[j];
  41.                     min_index = j;
  42.                 }
  43.             }
  44.         } else {
  45.             if(a[i+k-1] < dp[i-1]){
  46.                 dp[i] = a[i+k-1];
  47.                 min_index = i+k-1;
  48.             } else {
  49.                 dp[i] = dp[i-1];
  50.             }
  51.         }
  52.     }
  53.    
  54.     cin >> q;
  55.     while(q--){
  56.         int c;
  57.         cin >> c;
  58.         cout << dp[c] << endl;
  59.     }
  60.    
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement