Pagini recente » Cod sursa (job #1899439) | Cod sursa (job #2480950) | Cod sursa (job #1812831) | Cod sursa (job #1172585) | Cod sursa (job #1803869)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
#define MAXN 100010
int n, v[MAXN], poz[MAXN], tata[MAXN], maxim, j, x, sir[MAXN], sol[MAXN];
void afis(int nod)
{
if(nod==0)
return;
afis(tata[nod]);
fout << v[nod] << ' ';
}
int main()
{
fin >> n;
for(int i=1;i<=n;i++)
{
fin >> v[i];
j=1;
while(sir[j]<v[i]&&j<=maxim)
j++;
sir[j]=v[i];
poz[j]=i;
tata[i]=poz[j-1];
if(j > maxim)maxim=j;
}
fout << maxim << '\n';
afis(poz[maxim]);
return 0;
}