Cod sursa(job #578038)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 10 aprilie 2011 21:58:22
Problema P-sir Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>
#include <cstring>
#define Nmx 2001

using namespace std;

int n,p[Nmx];
unsigned nr[Nmx][Nmx],sol;

void read()
{
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
        scanf("%d",&p[i]);
}

void solve()
{
    int sol=0;
    for(int i=1;i<=n;++i)
        for(int j=i+1;j<=n;++j)
        {
            nr[i][j]=1;
            if(p[i]<p[j])
              for(int k=1;k<i;++k)
                if(p[j]<p[k])
                    nr[i][j]+=nr[k][i];
            if(p[i]>p[j])
                for(int k=1;k<i;++k)
                if(p[j]>p[k])
                    nr[i][j]+=nr[k][i];
            sol+=nr[i][j];
        }
    printf("%d\n",sol);
}

int main()
{
    freopen("psir.in","r",stdin);
    freopen("psir.out","w",stdout);
    read();
    solve();
    return 0;
}