Pagini recente » Cod sursa (job #2794839) | Cod sursa (job #2798249) | Cod sursa (job #3280160) | Cod sursa (job #2514850) | Cod sursa (job #2448166)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
int n,v[10003],ret[10003],before[10003];
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
int inceput,l_max=0; ret[n]=1;
for(int j=n;j>=1;j--)
{
ret[j]=1;
for(int i=j;i<=n ;i++)
if(v[i]>v[j] && ret[j]<=ret[i])
{
ret[j]=ret[i]+1;
before[j]=i;
if(l_max<ret[j]) l_max=ret[j],inceput=j;
;
}
}
g<<l_max<<endl;
int cont =0;
g<<v[inceput]<<' ';
while(cont<l_max-1)
{
g<<v[before[inceput]]<<' ';
inceput=before[inceput];
cont++;
}
return 0;
}