Pagini recente » Cod sursa (job #1444943) | Cod sursa (job #3133800) | Cod sursa (job #2317625) | Cod sursa (job #1332767) | Cod sursa (job #1797028)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
#define MAXN 100010
int n,v[MAXN],poz[MAXN],tata[2000011],maxim,j,x;
void afis(int nod)
{
if(nod==0)
return;
afis(tata[nod]);
g<<nod<<' ';
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
{
f>>v[i];
j=1;
while(poz[j]<v[i]&&j<=maxim)
j++;
poz[j]=v[i];
tata[v[i]]=poz[j-1];
if(j>maxim)
{
maxim=j;
x=v[i];
}
}
g<<maxim<<'\n';
afis(x);
return 0;
}