Pagini recente » Cod sursa (job #2002710) | Cod sursa (job #2577335) | Cod sursa (job #1021367) | Cod sursa (job #363683) | Cod sursa (job #2759738)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("psir.in");
ofstream fout("psir.out");
const int nmax = 2005;
int n, v[nmax];
unsigned int dp[nmax][nmax], ans;
int main(){
fin >> n;
for (int i = 1; i <= n; ++i){
fin >> v[i];
}
for (int i = 1; i <= n; ++i){
for (int j = i - 1; j >= 1; --j){
dp[j][i] = 1;
if (v[j] < v[i]){
for (int k = j - 1; k >= 1; --k){
if (v[k] == v[i] || v[k] == v[j]){
continue;
}
if (v[k] > v[j]){
dp[j][i] += dp[k][j];
}
}
}
else{
for (int k = j - 1; k >= 1; --k){
if (v[k] < v[i]){
dp[j][i] += dp[k][j];
}
}
}
ans += dp[j][i];
}
}
fout << ans;
return 0;
}