Cod sursa(job #2063108)

Utilizator ioanalexandraIoan Alexandra ioanalexandra Data 11 noiembrie 2017 09:33:42
Problema Subsir 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int i,n,lmx,a[1001],j,nr,l[1001],q[1001];
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
        f>>a[i];
    l[n]=1;
    for(i=n-1; i>=1; i--)
    {
        lmx=0;
        for(j=i+1; j<=n; j++)
            if(a[i]<a[j]&&l[j]>lmx)lmx=l[j];
        l[i]=lmx+1;
    }
    lmx=0;
    for(i=1; i<=n; i++) if(l[i]>lmx)lmx=l[i];
    for(i=n; i>=1; i--)
    {
        if(l[i]==1) q[i]=1;
        else
            for(j=i+1; j<=n; j++)
                if(l[i]==l[j]+1 && a[i]<a[j])
                    q[i]=(q[i]+q[j])%9901;
    }
    for(i=1; i<=n; i++)
        if(l[i]==lmx) nr+=q[i];
    g<<lmx<<'\n'<<nr%9901;
    return 0;
}