#include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { vector <vector<int> > v; int n; cin>>n; for(int i=0; i<n; i++) { int num; cin>>num; int pos = -1; int min = 1e9; for(int j=0;j<v.size();j++) { if(num<=v[j][v[j].size()-1] && v[j][v[j].size()-1]<min) { min = v[j][v[j].size()-1]; pos = j; } } if(pos == -1) { vector <int> a; a.push_back(num); v.push_back(a); } else { v[pos].push_back(num); } } cout<<v.size(); return 0; } /************************************************************** Problem: 1771 User: admin Language: C++ Result: Accepted Time:5 ms Memory:2076 kb ****************************************************************/