Cod sursa(job #2974073)

Utilizator dumitrache12Dumitrache Iulian dumitrache12 Data 3 februarie 2023 01:07:04
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#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;
}