Pagini recente » Cod sursa (job #2593119) | Cod sursa (job #2981128) | Cod sursa (job #708850) | Cod sursa (job #2943356) | Cod sursa (job #2028893)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin ("scmax.in");
ofstream cout("scmax.out");
int a[100005], b[100005], p[100005] , n, rs, prs, j;
void printrs(int m, int n){
while(p[n] != m)n--;
if(m > 1) printrs(m - 1, n - 1);
cout << a[n] << " ";
}
int main() {
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a[i];
j = 1;
while(a[i] > b[j] && j <= rs) j++;
b[j] = a[i]; p[i] = j;
rs = max(rs,j);
}
cout << rs << '\n';
printrs(rs,n);
//cout << '\n';
//for(int i = 1; b[i]; i++) cout << b[i] << ' ';
return 0;
}