Cod sursa(job #1895240)

Utilizator antanaAntonia Boca antana Data 27 februarie 2017 20:51:59
Problema P-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>

#define MAXN 2001

using namespace std;

unsigned int v[MAXN], d[MAXN][2];

int main()
{
    freopen("psir.in", "r", stdin);
    freopen("psir.out", "w", stdout);

    int i, j, n;
    unsigned int ans = 0;

    scanf("%d", &n);

    for(i=1; i<=n; ++i)
        scanf("%u", &v[i]);

    for(i=1; i<n; ++i)
        for(j=i+1; j<=n; ++j) {
            if(v[i] < v[j]) d[j][0]++;
            else {if(v[i] > v[j]) d[j][1]++;
            else ans++; }}

    for(i=3; i<=n; ++i) {
        for(j=i-1; j>=1; --j) {
            if(v[i] > v[j]) d[i][0] += d[j][1];
            else if(v[i] < v[j]) d[i][1] += d[j][0]; }
        ans += d[i][0] + d[i][1]; }

    printf("%u", ans);

    return 0;
}