Pagini recente » Cod sursa (job #367605) | Cod sursa (job #372673) | Cod sursa (job #283163) | Cod sursa (job #1169394) | Cod sursa (job #2975501)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("psir.in");
ofstream fout("psir.out");
unsigned int f[2001][2001];
int n, v[2001];
map <int, int> M;
const long long mod = pow(2, 32);
int l, r, m, pos;
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;
for (int i = 1; i <= n; i++)
{
fin >> v[i];
for (int j = i - 1; j >= 1; j--)
{
if (v[j] < v[i])
f[i][v[j]] += f[j][n] - f[j][v[i]] + 1;
else if (v[j] > v[i])
f[i][v[j]] += f[j][v[i] - 1] + 1;
}
for (int j = 1; j <= n; j++)
f[i][j] += f[i][j - 1];
res += f[i][n];
}
fout << res;
return 0;
}