Cod sursa(job #1867667)

Utilizator XIIICristian Boicu XIII Data 4 februarie 2017 11:36:06
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
long v[100002],m[100002],i,j,k,n,maxx,c,drum[100010];
int main(){
	ifstream cin("scmax.in");
	ofstream cout("scmax.out");
	cin>>n;
	for (i=1;i<=n;i++){
	
	cin>>v[i];
	m[i]=1;
}
	maxx=-1;
	int maxpos=-1;
	for (i=2;i<=n;i++)
{     
          	for (j=1;j<=i-1;j++){
          		
			  if (v[i]>v[j]){
	
    		if (m[i]<m[j]+1){
    			m[i]=m[j]+1;
    			drum[i]=j;
			}
			
			
			}
   
    }
		if (m[i]>maxx) {
			maxx=m[i];
			maxpos=i;
		}
//    maxx=max(maxx,m[i]);
}
	cout<<maxx<<endl;
		for (;maxpos;maxpos=drum[maxpos])	cout <<v[maxpos]<<" ";
return 0;
}