Pagini recente » Cod sursa (job #844033) | Cod sursa (job #1551016) | Cod sursa (job #1747430) | Cod sursa (job #569030) | Cod sursa (job #1645025)
#include <fstream>
using namespace std;
int n, i, j, L[100003], T[100003], sol[100003], v[100003], t, maxim, poz1, poz2, nr;
int main()
{
ifstream fin("scmax.in");
ofstream fout("scmax.out");
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i];
}
for(i=1;i<=n;i++){
maxim=0;
for(j=i-1;j>=0;j--){
if(v[j]<v[i])
if(L[j]>maxim){
maxim=L[j];
T[i]=j;
}
L[i]=maxim+1;
}
}
maxim=0;
for(i=1;i<=n;i++){
if(L[i]>maxim){
maxim=L[i];
poz2=i;
}
}
i=poz2;
sol[++nr]=poz2;
while(i!=0){
sol[++nr]=T[i];
i=T[i];
}
nr--;
fout<<nr<<"\n";
for(i=nr;i>=1;i--)
fout<<v[sol[i]]<<" ";
return 0;
}