Cod sursa(job #2835368)

Utilizator BadHero112Ursu Vasile BadHero112 Data 18 ianuarie 2022 16:42:38
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include<bits/stdc++.h>
#define ll long long
#define spid ios_base::sync_with_stdio(false);cin.tie(NULL)
#define F first
#define S second
using namespace std;

int A[101],B[101],C[101];
vector<int> D;
int n;


int main(){
	
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>A[i];
	}
	for(int i=0;i<n;i++){
		B[i]=1;
	}
	for(int i=1;i<n;i++){
		int j=0;
		while(j<i){
			if(A[j]<A[i]){
				if(B[j]+1>B[i]){
					B[i]=B[j]+1;
					C[i]=j;
				}
				
			}
			j++;
		}
	}
	int maax=B[0],k=0;
	
	for(int i=0;i<n;i++){
		if(maax<B[i]){
			maax=B[i];
			k=i;
		}
	}
	cout<<maax<<endl;
	while(maax--){
		D.push_back(A[k]);
		k=C[k];
	}
	for(int i=D.size()-1;i>=0;i--)cout<<D[i]<<" ";
}