#include <bits/stdc++.h>
using namespace std;
int main(){
int n,d;
cin>>n>>d;
int x[n];
vector<int>v;
for(int i=0; i<n; i++){
cin>>x[i];
//a=min(x[i],a);
}
v.push_back(x[0]);
for(int i=1; i<n; i++){
int l=0,r=v.size();
int ans=-1;
while(l<=r){
int mid=(l+r)/2;
if(x[i]<=v[mid]){
l=mid+1;
ans=mid;
}
else {
r=mid-1;
}
}
if(ans!=-1){
v[ans]=x[i];
}
else v.push_back(x[i]);
}
cout<<v.size();
}
# | 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... |