Pagini recente » Cod sursa (job #737674) | Cod sursa (job #3205442) | Cod sursa (job #2381537) | Cod sursa (job #1654654) | Cod sursa (job #2975505)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("psir.in");
ofstream fout("psir.out");
unsigned int f[2005][2005];
int n, v[2005];
map <int, int> M;
int main()
{
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i], M[v[i]];
int k = 0;
for (auto& i : M)
i.second = ++k;
for (int i = 1; i <= n; i++)
v[i] = M[v[i]];
unsigned int res = 0, aux;
for (int i = 1; i <= n; i++)
{
fin >> v[i];
for (int j = 1; j < i; j++)
{
aux = 1;
if (v[j] < v[i])
aux += f[j][n] - f[j][v[i]];
else if (v[j] > v[i])
aux += f[j][v[i] - 1];
f[i][v[j]] += aux;
}
for (int j = 1; j <= n; j++)
f[i][j] += f[i][j - 1];
res += f[i][n];
}
fout << res;
return 0;
}