Pagini recente » Istoria paginii utilizator/banutasia | Cod sursa (job #1482832) | Cod sursa (job #2842956) | Cod sursa (job #2274076) | Cod sursa (job #1739364)
#include<fstream>
#define DIM 100010
using namespace std;
int i, sol, maxim, pozmaxim, n, j, T[DIM], L[DIM], v[DIM], u;
ifstream fin ("scmax.in");
ofstream fout("scmax.out");
void drum(int u) {
if (u!=0) {
drum(T[u]);
fout<<v[u]<<" ";
}
}
int main(){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
L[1]=1;
sol=1;
for(i=2;i<=n;i++){
maxim=0;
pozmaxim=0;
for(j=1;j<i;j++)
if(v[j]<v[i] && L[j]>maxim){
maxim=L[j];
pozmaxim=j;
}
L[i]=maxim+1;
T[i]=pozmaxim;
if (L[i] > sol) {
sol = L[i];
u = i;
}
}
fout<<sol<<"\n";
drum(u);
/*
while (u!=0) {
cout<<v[u]<< " ";
u = T[u];
}
*/
return 0;
}