Pagini recente » Cod sursa (job #2380507) | Cod sursa (job #824293) | Cod sursa (job #1290297) | Cod sursa (job #948123) | Cod sursa (job #1266184)
#include<fstream>
using namespace std;
int t[100007], n, p, sol, solp, i, j, v[100007], maxim, L[100007];
ifstream in("scmax.in");
ofstream out("scmax.out");
void afisare(int x){
if(x!=0){
afisare(t[x]);
out<<v[x]<<" ";
}
}
int main(){
in>>n;
for(i=1; i<=n; i++)
in>>v[i];
for(i=1; i<=n; i++){
maxim=0;
for(j=1; j<i; j++){
if(v[j]<v[i] && L[j]>maxim){
maxim=L[j];
p=j;
}
}
L[i]=1+maxim;
if(maxim!=0)
t[i]=p;
if(L[i]>sol){
sol=L[i];
solp=i;
}
}
out<<sol<<"\n";
afisare(solp);
return 0;
}