Pagini recente » Cod sursa (job #2916352) | Cod sursa (job #2974073)
#include<bits/stdc++.h>
using namespace std;
const int N = 100009;
int v[N], len;
ifstream in ("scmax.in");
ofstream out("scmax.out");
// auto& in = cin;
// auto& out = cout;
void show()
{
for(int i=0;i<len;i++)
out<<v[i]<<' ';
out<<endl;
}
int main(){
int n, t;
for(in>>n; n; n--)
{
in>>t;
// find first that is bigger or equal
int p = upper_bound(v, v+len, t) - v;
if(v[p-1] == t) p--;
if(p == len) len++;
v[p] = t;
}
out<<len<<endl;
show();
return 0;
}