#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; int main() { vector mn; int n; cin>>n; mn.push_back(-1e9); int add=0; for(int i=0; i>a; int j=lower_bound(mn.begin(), mn.end(), a-add)-mn.begin(); add++; if(j==mn.size()){ mn.push_back(a-add); }else{ mn[j]=a-add; } } cout<