#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
const int MAXN=3e5+5;
int n,d;
int a[MAXN];
set<int> s;
map<int,int> code;
deque<pair<int,int> > dq;
void compress()
{
for(int i=1;i<=n;i++) s.insert(a[i]);
int i=1;
for(auto x: s)
{
code[x]=i;
i++;
}
for(int i=1;i<=n;i++) a[i]=code[a[i]];
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>n>>d;
for(int i=1;i<=n;i++) cin>>a[i];
compress();
int ans=0;
for(int i=n;i>=1;i--)
{
while(!dq.empty() && dq.front().first<=a[i]) dq.pop_front();
int cur=0;
if(dq.empty()) cur=1;
else cur=dq.front().second+1;
ans=max(ans, cur);
dq.push_front({a[i],cur});
}
cout<<ans<<endl;
return 0;
}
# | 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... |