Pagini recente » Cod sursa (job #1649304) | Cod sursa (job #2940530) | Cod sursa (job #2875139) | Cod sursa (job #2373233) | Cod sursa (job #1392502)
#include <iostream>
#include <fstream>
#include <cstring>
#define DN 100005
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[DN],mini[DN],n,sz;
void read(){
f>>n;
for(int i=1;i<=n;++i)
f>>v[i];
}
void solve(){
memset(mini,127,sizeof(mini));
mini[0] = 0;
for(int i=1;i<=n;++i){
int j;
for(j=sz;j>=0 and mini[j] >= v[i];--j);
mini[j+1] = min(mini[j+1],v[i]);
sz=max(sz,j+1);
}
g<<sz<<"\n";
for(int i=1;i<=sz;++i)
g<<mini[i]<<" ";
}
int main()
{
read();
solve();
return 0;
}