Cod sursa(job #904983)

Utilizator OnimushaLordTiberiu Copaciu OnimushaLord Data 5 martie 2013 10:43:09
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
# include <cstdio>
using namespace std;
int i,j,lg[100001],a[100001],poz,nr,n,Max;
int main()
{
    freopen("scmax.in", "r", stdin);
    freopen("scmax.out", "w", stdout);
    scanf("%d", &n);
    for(i=1; i<=n; ++i)
    scanf("%d", &a[i]);
    int curent;
    for(i=n; i>=1; --i)
    {
        curent=a[i]; nr=1;
        for(j=i+1; j<=n; ++j)
        if(curent<a[j])
        {
            nr++;
            curent=a[j];
        }
        lg[i]=nr;
        if(lg[i]>Max) { Max=lg[i]; poz=i;}
    }
    curent=lg[poz];
    printf("%d\n%d ",curent, a[poz]);
    for(i=poz; i<=n; ++i)
    if(lg[i]<curent)
    {
        printf("%d ", a[i]);
        curent=lg[i];
    }
}