Pagini recente » Cod sursa (job #3203542) | Cod sursa (job #2192386) | Cod sursa (job #727282) | Cod sursa (job #429774) | Cod sursa (job #1109435)
#include <iostream>
#include <fstream>
using namespace std;
int pre[100],a[100];
ifstream f("scmax.in");
ofstream g("scmax.out");
void afisare (int k)
{
if (k==0)
return ;
afisare (pre[k]);
g<<a[k]<<' ';
}
int main()
{
int i,j,n,max=1,lg[100],nr=1;
f>>n;
for (i=1; i<=n; i++)
f>>a[i];
for (i=1; i<=n; i++)
{
lg[i]=1;
pre[i]=0;
for (j=i; j>0; j--)
if (lg[i]<=lg[j] && a[i]>a[j])
{
lg[i]=lg[j]+1;
pre[i]=j;
}
if (lg[max]<lg[i])
{
nr++;
max=i;
}
//cout<<lg[i]<<' '<<pre[i]<<endl;
}
g<<nr<<endl;
afisare (max);
}