Pagini recente » Cod sursa (job #2860176) | Cod sursa (job #1791458) | Cod sursa (job #878238) | Cod sursa (job #2821720) | Cod sursa (job #1346332)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("psir.in");
ofstream out("psir.out");
const int nmax = 2006;
const long long mod = 4294967296;
int v[nmax], d[nmax][2], n, p;
long long rasp;
/*
d[i][0 / 1] = numarul de zigzaguri care se termina in v[i], 1- ultima oara am urcat, 0 ultima oara am coborat;
*/
int main(){
int player_unu=0;
in>>n;
for(int i = 1; i<=n; i++)
{
in>>v[i];
for(int j = i - 1; j>0; j--)
{
if(v[i]<v[j])
{
d[i][0] += (d[j][1] + 1);
}
if(v[j]<v[i])
{
d[i][1] += (d[j][0] + 1);
}
}
}
for(int i = 1; i<=n; i++)
rasp += (long long)(d[i][0] + d[i][1]);
sort(v + 1, v + n + 1);
for(int i = 1; i<=n + 1; i++)
{
if(v[i]==v[i - 1])
{
p++;
}
else
{
rasp += (long long)(p * (p - 1) / 2);
p = 1;
}
}
out<<rasp % mod<<'\n';
return player_unu;
}