#include <bits/stdc++.h>
using namespace std;
int a[200001];
int n,m;
int main() {
cin >> n >> m;
vector<int> a={};
for(int i=0; i<n; i++){
int b;cin>>b;
a.push_back(b);
}
//cout<<"in";
vector<int> dp,ind;
int j=0;
for (int k=0; k<n; k++) {
//cout<<k<<" "<<a[k]<<endl;
int i=a[k];
//cout<<i<<endl;
int pos = lower_bound(dp.begin(), dp.end(), i) - dp.begin();
if (pos == dp.size()) {
dp.push_back(i);
ind.push_back(j++);
} else {
dp[pos] = i;
ind[pos]=j++;
}
}
// if(!is)return dp.size();
int b=0;
////b=find_lis(false);
//return dp.size()+2;
cout<<dp.size()+2;
}
# | 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... |