Cod sursa(job #1390031)

Utilizator felixiPuscasu Felix felixi Data 16 martie 2015 20:04:07
Problema P-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

ifstream in("psir.in");
ofstream out("psir.out");

typedef long long I64;

const int NMAX = 2000;
const I64 MOD  = 4294967296;

int v[NMAX+2], d[NMAX+2][2];
int N, Ans = 0;

int main() {
    in >> N;
    for( int i = 1;  i <= N;  ++i ) {
        in >> v[i];
    }
    int i = 1;
    while( i <= N && v[i] == v[1] ) {
        d[i][0] = d[i][1] = 1;
        ++i;
    }

    for( ;  i <= N;  ++i ) {
        for( int j = 1;  j < i;  ++j ) {
            if( v[j] > v[i] ) {
                d[i][0] += d[j][1];
            }
            if( v[j] < v[i] ) {
                d[i][1] += d[j][0];
            }
        }
        Ans = (Ans + d[i][0] + d[i][1] + 1) % MOD;
    }
    out << Ans << '\n';
    return 0;
}