#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i , a , b) for(int i = a ; i <= b ; i++)
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define maxn 200005
ll a[maxn] , diff[maxn] , b[maxn];
int main(){
FAST;
int n;
ll x;
cin >> n >> x;
FOR(i , 1 , n) cin >> a[i];
diff[1] = a[1];
FOR(i , 2 , n) diff[i] = a[i] - a[i - 1];
FOR(i , 1 , n) b[i] = INT_MAX;
diff[1] = diff[1] + -x;
int res = 0;
FOR(i , 2 , n){
diff[i] -= -x;
ll ans = 0;
FOR(j , 1 , n){
ans += diff[j];
a[j] = ans;
}
//FOR(j , 1 , n) cout << a[j] << " ";
//cout << "\n";
FOR(j , 1 , n){
int k = lower_bound(b + 1 , b + n + 1, a[j]) - b;
b[k] = a[j];
res = max(res , k);
}
FOR(j , 1 , n) b[j] = INT_MAX;
//cout << res << "\n";
diff[i] -= x;
}
cout << res;
}
# | 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... |