Cod sursa(job #945038)

Utilizator MaddoxMihalcea-Simoiu Theodor Maddox Data 30 aprilie 2013 11:53:14
Problema Subsir crescator maximal Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
# include <cstdio>
using namespace std;
int i,j,lg[100001],a[100001],nr,n,Max,b,x;
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]);
    for(i=n-1; i>=1; --i)
    {
        b=a[i];nr=1;
        for(j=i+1; j<=n; ++j)
        if(b<a[j])
        {
            nr++;
            b=a[j];
        }
        lg[i]=nr;
        if(lg[i]>Max) { Max=lg[i]; x=i;}
    }
    b=lg[x];
    printf("%d\n%d ",b, a[x]);
    for(i=x; i<=n; ++i)
    if(lg[i]<b && lg[i]<=b-1)
    {
        printf("%d ", a[i]);
        b=lg[i];
    }
 return 0;
}