Pagini recente » Rezultate Info Oltenia 2018 Proba Individuala | Borderou de evaluare (job #2013197) | Borderou de evaluare (job #2212900) | Clasamentul arhivei de probleme | Cod sursa (job #1800201)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,i,a[10001],v[10001],j,Max;
int k,indice,v2[100001],u;
int main()
{
f>>n;
for(i=0;i<n;++i)
f>>a[i];
v[0]=1;
for(i=1;i<n;++i){
j=i;
Max=0;
for(j=i;j>=0;j--){
if(a[j]<a[i] && Max<v[j]){
Max=v[j];
}
}
v[i]=Max+1;
}
Max=0;
for(i=0;i<n;i++){
if (Max<v[i]){
Max=v[i];
indice=a[i];
u=i;
}
}
v2[0]=indice;
k=1;
for(i=u-1;i>=0;i--){
if(a[i]<indice && v[i]==v[u]-1){
v2[k]=a[i];
k++;
indice=a[i];
u=i;
}
}
g<<Max<<endl;
for(i=k-1;i>=0;i--)
g << v2[i]<< ' ';
return 0;
}