#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7, N = 2e5 + 5;
main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int tt = 1; //cin >> tt;
while(tt--){
int n, x;
cin >> n >> x;
vector<int> a(n + 1);
for(int i = 1; i <= n; i++) cin >> a[i];
int ans = 0;
vector<int> dp(n + 1, 1e9), p(n + 1);
for(int i = 1; i <= n; i++){
int j = lower_bound(dp.begin() + 1, dp.end(), a[i] - x) - dp.begin();
dp[j] = a[i] - x; p[i] = j;
ans = max(ans, j);
}
for(int i = 1; i <= n; i++) dp[i] = 1e9;
reverse(a.begin() + 1, a.end());
for(int i = 1; i <= n; i++){
int j = lower_bound(dp.begin() + 1, dp.end(), -(a[i] - x)) - dp.begin();
ans = max(ans, p[n - i + 1] + j - 1);
j = lower_bound(dp.begin() + 1, dp.end(), -a[i]) - dp.begin();
dp[j] = -a[i];
}
cout << ans << '\n';
}
}
Compilation message (stderr)
glo.cpp:4:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
4 | main(){
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |