fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, k;
  6. cin >> n >> k;
  7. vector<int> a(n), lg(n), rg(n);
  8. for (int &x : a) cin >> x;
  9. lg[0] = 1;
  10. rg[n - 1] = 1;
  11.  
  12. int ma = 0;
  13. for (int i = 0; i < n - 1; i++) {
  14. ma = max(ma, a[i]);
  15. if (a[i + 1] >= ma) rg[i] = 1;
  16. }
  17.  
  18. int mi = n;
  19. for (int i = n - 1; i > 0; i--) {
  20. mi = min(mi, a[i]);
  21. if (a[i - 1] <= mi) lg[i] = 1;
  22. }
  23.  
  24. int flag = 1;
  25. for (int i = 1; i < n - 1; i++) {
  26. if (flag && a[i - 1] <= a[i]) lg[i + 1] &= 1;
  27. else lg[i + 1] = flag = 0;
  28. }
  29.  
  30. flag = 1;
  31. for (int i = n - 2; i > 0; i--) {
  32. if (flag && a[i] <= a[i + 1]) rg[i - 1] &= 1;
  33. else rg[i - 1] = flag = 0;
  34. }
  35.  
  36. for (int i = k - 1; i < n; i++) {
  37. if (rg[i] && lg[i - k + 1]) {
  38. cout << "Yes\n";
  39. return 0;
  40. }
  41. }
  42. cout << "No\n";
  43. }
  44.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
Yes