Pagini recente » Cod sursa (job #348784) | Cod sursa (job #45659) | Cod sursa (job #1758274) | Cod sursa (job #321126) | Cod sursa (job #66724)
Cod sursa(job #66724)
Utilizator |
Mircea Pasoi domino |
Data |
20 iunie 2007 20:17:20 |
Problema |
P-sir |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.66 kb |
#include <stdio.h>
#define MAX_N 2048
#define FIN "psir.in"
#define FOUT "psir.out"
#define FOR(i, a, b) for (i = (a); i < (b); i++)
int N, P[MAX_N];
unsigned cnt[MAX_N][MAX_N], Res;
int main (void)
{
int i, j, k;
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d", &N);
FOR (i, 0, N) scanf ("%d", P + i);
FOR (i, 0, N) FOR (j, i + 1, N)
{
cnt[i][j] = 1;
if (P[j] > P[i])
FOR (k, 0, i) cnt[i][j] += (P[k] > P[j]) * cnt[k][i];
if (P[j] < P[i])
FOR (k, 0, i) cnt[i][j] += (P[k] < P[j]) * cnt[k][i];
Res += cnt[i][j];
}
printf ("%u\n", Res);
return 0;
}