Pagini recente » Cod sursa (job #619568) | Cod sursa (job #2484280) | Cod sursa (job #545246) | Cod sursa (job #2458035) | Cod sursa (job #3166519)
#include <fstream>
#define DIM 100001
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,maxi,p,lmax,poz,v[DIM],d[DIM],t[DIM];
void reconst(int i) {
if (i!=0) {
reconst(t[i]);
fout<<v[i]<<" ";
}
}
int main() {
fin>>n;
for (int i=1;i<=n;i++)
fin>>v[i];
d[1]=1;
for (int i=2;i<=n;i++) {
maxi=0;
for (int j=1;j<i;j++)
if (v[j]<v[i] && d[j]>maxi) {
maxi=d[j];
p=j;
}
d[i]=maxi+1;
if (d[i]==1)
t[i]=0;
else
t[i]=p;
if (d[i]>lmax) {
lmax=d[i];
poz=i;
}
}
fout<<lmax<<"\n";
reconst(poz);
return 0;
}