Submission #785169

#TimeUsernameProblemLanguageResultExecution timeMemory
785169kebineGlobal Warming (CEOI18_glo)C++17
5 / 100
2081 ms1824 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

int n, x, t[200005], ans = 0;

void solve(int l, int r, int s) {
  // cout << l << " " << r << " " << s << endl;
  for (int i = l; i <= r; i++) {
    t[i] += s;
  }

  stack<int> st;
  int temp;
  for (int i = 1; i <= n; i++) {
    while (!st.empty()) {
      if (t[i] <= st.top()) st.pop();
      else break;
    }
    st.push(t[i]);
    temp = st.size();
    // cout << "	" << temp << endl;
    ans = max(temp, ans);
  }

  for (int i = l; i <= r; i++) {
    t[i] -= s;
  }
}

signed main() {
  cin >> n >> x;
  for (int i = 1; i <= n; i++) cin >> t[i];

  for (int l = 1; l <= n; l++) {
    for (int r = l; r <= n; r++) {
      for (int s = -x; s <= x; s++) {
        solve(l, r, s);
      }
    }
  }

  cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...