Pagini recente » Cod sursa (job #1284386) | Cod sursa (job #1077845) | Cod sursa (job #1132854) | Cod sursa (job #219818) | Cod sursa (job #67836)
Cod sursa(job #67836)
#include <cstdio>
#include <string>
#include <ctime>
#define MaxN 2010
using namespace std;
int n, a[MaxN];
unsigned pos[MaxN][MaxN];
void solve()
{
int i, j, k;
for (i=1; i<n; i++)
for (j=0; j<i; j++){
unsigned val = ++pos[j][i];
int Min = min(a[i], a[j]), Max = max(a[i], a[j]);
for (k=i+1; k<n; k++)
if (Min<a[k] && a[k]<Max) pos[i][k] += val;
}
}
int main()
{
int i, j;
double timp = clock();
freopen("psir.in", "r", stdin);
freopen("psir.out", "w", stdout);
scanf("%d", &n);
for (i=0; i<n; i++)
scanf("%d", a+i);
solve();
unsigned sol=(n==1);
for (i=0; i<n; i++)
for (j=i+1; j<n; j++)
sol+=pos[i][j];
printf("%u\n", sol);
#ifdef WIN32
printf("A durat %f secunde.", (clock()-timp)/1000);
#endif
return 0;
}